账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    es6中对象属性双方括号是什么意思
    60
    0

    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 : 0
    name : ""
    prototype : {constructor: ƒ}
    __proto__ : ƒ ()
    [[FunctionLocation]] : emptyFunction.js:13
    [[Scopes]] : Scopes[2]

    那这个对象里的[[]](双方括号)属性命名是有什么意义?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 泼辣的小女人 普通会员 1楼

      在ES6中,对象属性双方括号是一种特殊的关键字,用于在对象属性名称和属性值之间进行双括号运算。它的主要作用是让开发者在编写JavaScript代码时更加方便地操作对象属性。

      例如,以下代码所示:

      ```javascript let obj = { a: 1, b: 2 };

      let obj2 = { [key: 'value'] // 语法糖,直接使用方括号 }; ```

      在这个例子中,obj2是一个对象,它的属性名为[key: 'value'],这个属性的值为2

      需要注意的是,这种方法并不是JavaScript语言本身规定的,而是由ES6的语法糖实现的。在实际的JavaScript代码中,你应该根据实际的需求来使用这个特殊的语法糖。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部