各位观众老爷,今天咱们来聊聊 JavaScript 里一个挺有意思的小家伙—— Reflect.ownKeys()。 听名字是不是感觉很高大上? 别怕,其实它就是个用来扒对象底裤,啊不,是获取对象所有键的小工具。 咱们今天就把它扒个精光,看看它到底有啥能耐。 开场白: 你以为的键,真的是键吗? 在 JavaScript 的世界里,对象就像个百宝箱,里面装满了各种各样的键值对。 我们平时用 for…in 循环或者 Object.keys() 好像也能拿到键,但是,它们真的能拿到 所有 的键吗? 答案是:不见得! for…in 会把原型链上的东西也扒拉出来,而 Object.keys() 只能拿到 可枚举 的属性。 啥是可枚举? 这又涉及到 JavaScript 属性描述符那些事儿了,咱们先埋个伏笔,后面细说。 总之,如果你想不掺杂任何水分,干干净净地拿到一个对象 自身 所有的键,包括那些不可枚举的、Symbol 类型的,那就得请出咱们今天的主角—— Reflect.ownKeys()。 第一幕: Reflect.ownKeys() 是个啥? Reflect.ownKeys(tar …
继续阅读“JavaScript内核与高级编程之:`JavaScript` 的 `Reflect.ownKeys()`:其在获取对象所有键时的应用。”