16、ES6 数值和布尔值的解构赋值
2017-12-08 20:13
453 查看
数值和布尔值的解构赋值
解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。
let {toString:s}=123;
s === Number.prototype.toString;
let {toString:s}=true;
s===Boolean.prototype.toString;
上面代码中,数值和布尔值的包装对象都有 toString属性,因此变量 s 都能取到值。
解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象。由于 undefined 和 null 无法转为对象,所以对它们进行解构赋值,都会报错。
let {prop:x}=undefined; //报错
let {prop:y}=null; //报错
解构赋值时,如果等号右边是数值和布尔值,则会先转为对象。
let {toString:s}=123;
s === Number.prototype.toString;
let {toString:s}=true;
s===Boolean.prototype.toString;
上面代码中,数值和布尔值的包装对象都有 toString属性,因此变量 s 都能取到值。
解构赋值的规则是,只要等号右边的值不是对象,就先将其转为对象。由于 undefined 和 null 无法转为对象,所以对它们进行解构赋值,都会报错。
let {prop:x}=undefined; //报错
let {prop:y}=null; //报错
相关文章推荐
- 【es6】【变量的解构赋值】【字符串,数值和布尔值解构】【函数参数的解构赋值】【用途】
- 数值和布尔值的解构赋值
- ES6-变量的结构赋值-数值和布尔值
- es6对象的解构赋值和对象的拓展
- ES6 —(解构赋值)
- ES6(四) 变量的解构赋值
- (5)ES6解构赋值-函数篇
- ES6学习2(变量的解构赋值)
- ES6解构赋值
- ECMAScript 6 学习系列课程 (ES6 默认值和解构赋值的使用)
- ES6语法---解构赋值
- ES6解构赋值
- char和short都是双字节16bit长的数值类型,为什么相互赋值会提示精度丢失?
- ES6--变量的声明及解构赋值
- ES6 --- 解构赋值
- ES6小实验-变量的解构赋值
- [Wondgirl]ECMAScript6(ES6)(四)数组的解构赋值
- ES6 解构赋值用途
- ES6学习3章:变量的解构赋值
- ES6 之解构赋值