ES6 允许从数组和对象中提取值,然后对变量进行赋值,这种“模式匹配”被称为解构。
1 | let [a, b, c] = [2, 3, 4]; |
当等号右边不是数组或者对象,类如字符串、数值、布尔值会被转换成了一个类似数组的对象,这些对象都有一个length
属性,因此还可以对这个属性解构赋值。
1 | let {length : len} = 'he'; |
上面的字符串hello
会先转化为new String('he')
包装对象,所以会有length
、toString
等属性或方法,所以如果要理解这个的话可以把上述转化为:
1 | let hello = new String('he'); |