稻草网

  1. 首页
  2. 技术
  3. 其它
  4. 正文

js中关于{[](){}}的理解

2017年8月22日 4479点热度 0人点赞 0条评论

在学习Redux的时候,遇到这样一个对象(下面代码中函数的第二个参数)  

export const todos = createReducer([], {
  [ActionTypes.ADD_TODO](state, action) {
    let text = action.text.trim();
    return [...state, text];
  }
});

提炼出来,形式为{[](){}},看上去不太好理解  

这里用到了ES6的两个知识点

1.属性简写

示例:

let obj = {
  test(){
   console.log("is right!");
 }
};

// 等同于

var obj = {
  test: function(){
   console.log("is right!");
 }
};

2.表达式作属性名

let obj = {
  [key]: value
}

//这里的key可以由表达式组成,用方括号包裹

 

总结如下:

var obj={"name":"test"};
var handler={[obj.name](){console.log("is right!")}};
handler[obj.name](); // "is right!"

 

标签: 暂无
最后更新:2017年8月22日

何 同学

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2025 稻草网. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang