ES6入门:其它数据类型的解构赋值
一、字符串的解构赋值 数组形式的解构赋值:字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。
const [a, b, c, d, e] = 'hello';
a
b
c
d
e
对象形式的解构赋值:
const { 0: a, 1: b, length } = 'hello';
console.log(a, b, length);
console.log('hello'.length);
二、数值和布尔值的解构赋值 解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。
let {toString: s} = 123;
s === Number.prototype.toString
let {toString: s} = true;
s === Boolean.prototype.toString
上面代码中,数值和布尔值的包装对象都有toString属性,因此变量s都能取到值。 三、undefined 和 null 的解构赋值 由于 undefined 和 null 无法转为对象,所以对它们进行解构赋值,都会报错
const { toString } = undefined;
const { toString } = null;
|