Javascript对象属性?
我知道所有对象属性都有一个名称和属性,如Javascript对象属性?,javascript,ecmascript-6,prototype,Javascript,Ecmascript 6,Prototype,我知道所有对象属性都有一个名称和属性,如值、可配置、可枚举和可写。但我在帖子中读到,对象也有一些属性,比如prototype、class和可扩展 我知道prototype属性用于指向父对象。但我不明白的是class属性是什么?有这样的属性吗?而是不是可扩展的是作为isExtensible()对象的方法 在这篇文章中,我读到对象也有一些属性,比如prototype、class和extensible 它们通常不被称为“属性”,但是。通常,它们用双括号表示,以区别于正常属性,即[[prototype]
值
、可配置
、可枚举
和可写
。但我在帖子中读到,对象也有一些属性,比如prototype
、class
和可扩展
我知道prototype
属性用于指向父对象。但我不明白的是class
属性是什么?有这样的属性吗?而是不是可扩展的是作为isExtensible()
对象的方法
在这篇文章中,我读到对象也有一些属性,比如prototype
、class
和extensible
它们通常不被称为“属性”,但是。通常,它们用双括号表示,以区别于正常属性,即[[prototype]]、[[class]]和[[extensible]]
[[class]]属性是什么?有这样的属性吗
不再是ES6了。[[class]]内部插槽包含有关对象是哪种内置类型(例如数组、RegExp、内置包装器)的信息。当您在对象上使用Object.prototype.toString
方法时,会显示该属性。(查看或了解更多详细信息-这也是在array.isArray
可用之前检测对象是否为数组的最佳方法)
从ES6开始,就不再有这样的内部插槽,Object.prototype.toString
现在依赖于该机制
对象的可扩展方法不是isExtensible()吗
不,[[extensible]]内部插槽是isExtensible()
可以访问的,并且Object.preventExtensions()
可以设置
在这篇文章中,我读到对象也有一些属性,比如prototype
、class
和extensible
它们通常不被称为“属性”,但是。通常,它们用双括号表示,以区别于正常属性,即[[prototype]]、[[class]]和[[extensible]]
[[class]]属性是什么?有这样的属性吗
不再是ES6了。[[class]]内部插槽包含有关对象是哪种内置类型(例如数组、RegExp、内置包装器)的信息。当您在对象上使用Object.prototype.toString
方法时,会显示该属性。(查看或了解更多详细信息-这也是在array.isArray
可用之前检测对象是否为数组的最佳方法)
从ES6开始,就不再有这样的内部插槽,Object.prototype.toString
现在依赖于该机制
对象的可扩展方法不是isExtensible()吗
不,[[extensible]]内部插槽是isExtensible()
访问的对象,并且对象.preventExtensions()
可以设置。不,这些都不是属性(比如isExtensible
is),它们都可以被认为是内部插槽;而实际的属性prototype
完全是另一回事。不,这些属性都不是属性(比如isExtensible
is),它们都可以被认为是内部插槽;而实际属性prototype
完全是另外一回事。谢谢,我不知道内部插槽
。谢谢,我不知道内部插槽
。