为了账号安全,请及时绑定邮箱和手机立即绑定

es6中对象属性双方括号是什么意思

es6中对象属性双方括号是什么意思

拉丁的传说 2019-03-20 22:19:49
es6中对象属性双方括号是什么意思?在react表单输入输入框的change事件中handleChange = (e) => {    console.log(e);    this.setState({      value: e.target.value    });}这里的event对象是一个proxy对象,将其打印到控制台输出如下[[Handler]] : Object  set : ƒ (target, prop, value)  __proto__ : Object[[Target]] : SyntheticEvent  bubbles : (...)  cancelable : (...)  currentTarget : (...)  defaultPrevented : (...)  dispatchConfig : null  eventPhase : (...)  isDefaultPrevented : null  isPropagationStopped : null  isTrusted : (...)  nativeEvent : (...)  target : (...)  timeStamp : (...)  type : (...)  _dispatchInstances : null  _dispatchListeners : null  _targetInst : null  preventDefault : (...)  stopPropagation : (...)  get bubbles : ƒ ()  set bubbles : ƒ (val)  get cancelable : ƒ ()  set cancelable : ƒ (val)  get currentTarget : ƒ ()  set currentTarget : ƒ (val)  get defaultPrevented : ƒ ()  set defaultPrevented : ƒ (val)  get eventPhase : ƒ ()  set eventPhase : ƒ (val)  get isTrusted : ƒ ()  set isTrusted : ƒ (val)  get nativeEvent : ƒ ()  set nativeEvent : ƒ (val)  get target : ƒ ()  set target : ƒ (val)  get timeStamp : ƒ ()  set timeStamp : ƒ (val)  get type : ƒ ()  set type : ƒ (val)  get preventDefault : ƒ ()  set preventDefault : ƒ (val)  get stopPropagation : ƒ ()  set stopPropagation : ƒ (val)  __proto__ : Object[[IsRevoked]] : false如果是函数对象又会有这样的结构arguments : (...)caller : (...)length : 0name : ""prototype : {constructor: ƒ}__proto__ : ƒ ()[[FunctionLocation]] : emptyFunction.js:13[[Scopes]] : Scopes[2]那这个对象里的[[]](双方括号)属性命名是有什么意义?
查看完整描述

1 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

双方括号代表这是JavaScript引擎内部使用的属性/方法,可以帮助debug(点一下[[FunctionLocation]]就能跳到定义,点一下[[Scopes]]就能查看闭包),但是正常JavaScript代码是取不到这些属性的。

引擎看心情决定要显示哪些内部属性,显示的格式也没有规定,但在控制台里大家一般都约定俗成用双方括号,保持和规范的格式一致。

ECMA 标准: Object Internal Methods and Internal Slots


查看完整回答
1 反对 回复 2019-04-10
  • 1 回答
  • 0 关注
  • 1511 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信