您的位置:首页 > 其它

ES6-变量的结构赋值-数值和布尔值

2017-10-26 10:32 218 查看
数值和布尔值的解构赋值

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

let {tmp: s} = 123;
s === Number.prototype.tmp // true

let {tmp: s} = true;
s === Boolean.prototype.tmp // true
上面代码中,数值和布尔值的包装对象都要tmp属性,因此s都能取到值undefined

解构赋值的规则是,只要等号右边的不是对象或数组,就先将其转化为对象,由于undefined和null无法转换为对象,所以对它们进行解构赋值,都会报错。

let { prop: x } = undefined;// TypeError
let { prop: y } = null;// TypeError
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ES6