您的位置:首页 > 其它

记录一个中括号的问题

2017-03-28 18:37 169 查看
看到一处 react 属性状态赋值的写法,有一处中括号的用法如下:

class Form extends React.Component {
setField(key) {
return (e)=>{
this.setState({
[key]: e.target.value //此处的中括号引起了我的注意~~
});
}
}

render() {
// ......
}

}


本来以为此处是以一个数组作为 key 值。实际情况是,此处只是为了避免出现编译语法将 key 认为是 "key"字符串而采用的处理。

类似于强制编译器将此处进行 eval处理。

因为这种语法

const obj = {key: 123}; //此处的 key 即是字符串 "key"
// 又比如
const key = "iamkey";
obj[[[key]]] = "value";//最终编译出来即是 obj = {"key": "value",....}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐