JS对象下的数据 [[name]] 是什么意思?

clipboard.png

这3个圈出来的 [[]] 是什么数据类型,可以引用吗?如果可以,该如何引用?
阅读 2.8k
3 个回答

这是语言内部实现的属性,无法直接引用。但有些属性会暴露出相应的接口给开发者,比如 Proxy 对象有内部方法 [[GetPrototypeOf]],暴露给开发者的就是 getPrototypeOf 方法,[[GetPrototypeOf]]是它在内部实现的逻辑。还有其他的属性也是,因为语言也是靠编程代码写出来的,所以它内部也有一套程序(包含了很多变量和函数、方法)来支持语言自身的特性。

其实就是普通属性,但是属性的名称是[[someName]]比如

var a = { '[[name]]': 'hungtcs' };

console.log(a)就是

clipboard.png

想引用的话使用a['[[name]]']就可以了

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题