基础数据结构

基础数据结构 #

字符串的解构赋值 #

转为数组解构 #

字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。

(function (log) {
    const [a, b, c, d, e] = 'hello';
    log(a); // "h"
    log(b); // "e"
    log(c); // "l"
    log(d); // "l"
    log(e); // "o"

})(console.log)

解构字符串长度 #

类似数组对象都有一个length属性,因此还可以对这个属性解构赋值。

(function (log) {
    const {
        length: len
    } = 'hello';
    log(len); // 5

})(console.log)

数值和布尔值的解构赋值 #

解构赋值时,如果等号右边是数值布尔值,则会先转为对象

(function (log) {
    const {
        toString: s1
    } = 123;
    log(s1 === Number.prototype.toString); // true

    const {
        toString: s2
    } = true;
    log(s2 === Boolean.prototype.toString); // true
})(console.log)

上面代码中,数值布尔值包装对象都有toString属性,因此变量s1和变量s2都能取到


Build by Loppo 0.6.16