代码如下:

问题:
- 为什么我可以这样给obj1对象添加动态属性?
- 为什么我最终的结果是只添加了right属性?
解答:
1. 第一个问题解答如下:
我们知道在es5中给对象添加属性有两种方法,一种是通过点语法添加(主要是添加静态属性),一种是通过[]添加(主要是添加动态属性)
语法如下:

在es6中新增了属性名变量表达式
语法如下:

2. 第二个问题解答如下:
我们可以把['left', 'right'][+(num>10)]看成一个表达式,['left', 'right']是一个数组,+(num>10)是获取数组的索引值
浙公网安备 33010602011771号