我正在研究一个JavaScript项目,只是想知道为什么对象实例不继承defineProperty()和其他方法,而不是必须调用超类(superobject?)Object方法.
我查看了MDN文档,实际上有"非标准"属性方法.
但那些被弃用了.为什么要采取这些Object方法呢?
在我看来,像是instance.defineProperty(...)更好的东西Object.defineProperty(instance, ...).我也会对其他一些Object方法说同样的话.
我很困惑为什么 javascript 以某种方式工作。如果我有一个对象设置为 obj 的变量。
如果我想列出对象中的所有键。
我会说
Object.keys(obj)
Run Code Online (Sandbox Code Playgroud)
为什么不是
obj.keys()
Run Code Online (Sandbox Code Playgroud)
如果我使用的是 Array,它会是 arr.pop() 那么为什么 obj.keys() 的语法不一样呢??同样为什么它必须是 Object.keys(obj)
抱歉这个愚蠢的问题我只是想学习语言的特殊性