数值和布尔值的解构赋值

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

  1. let {toString: s} = 123;
  2. s === Number.prototype.toString // true
  3. let {toString: s} = true;
  4. s === Boolean.prototype.toString // true

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

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

  1. let { prop: x } = undefined; // TypeError
  2. let { prop: y } = null; // TypeError

数值和布尔值的解构赋值相关推荐

  1. 解构给默认值_解构赋值默认值误区

    问题还原 这是最近 CR 的时候在业务代码中发现了一个问题,先来看一下问题代码: // data 为接口返回的数据 const { bizObject = {}, total = 0 } = data ...

  2. 【ES6】变量的解构赋值

    [ES6]变量的解构赋值 一.什么叫解构赋值? 二.解构赋值有哪些分类?写法? 1)对数组的解构赋值 2)对对象的解构赋值 3)对字符串的解构赋值 4)对数值和布尔值的解构赋值 5)对函数参数的解构赋 ...

  3. json解析 子类和父类同名属性如何赋值_想学变量的解构赋值?看完这一篇就够了...

    序言 ES6允许按照一定模式从数组和对象中提取值,然后对变量进行复制,这被称为解构(Destructuring) 数组的解构赋值 基本用法 像上面的例子,可以从数组中提取值,按照对应位置对变量赋值,这 ...

  4. ES6的新特性(3)——变量的解构赋值

    变量的解构赋值 数组的解构赋值 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). let a = 1; let b = 2; le ...

  5. ECMAScript 6入门 - 变量的解构赋值

    定义 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 解构赋值不仅适用于var命令,也适用于let和const命令. 解构赋值的规则是,只要 ...

  6. ES6 解构赋值详解

    解构赋值是对赋值运算符的扩展,可以将属性/值从对象/数组中取出,赋值给其他变量. 一.数组的解构赋值 1.基本用法 只要等号两边的模式相同,左边的变量就会被赋予对应的值. let [a, [[b], ...

  7. [ES6] 细化ES6之 -- 变量的解构赋值

    变量的解构赋值 解构赋值是什么 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值 var/let [变量名称1,变量名称2,...] = 数组或对象 本质上,这种写法属于"模式 ...

  8. 【ES6】let命令、const命令、解构赋值

    let命令 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是也存在新的特性. let所声明的变量,只在let命令所在的代码块内有效,避免全局污染.(适用于for循环) {let a ...

  9. ES6新特性2:变量的解构赋值

    本文摘自ECMAScript6入门,转载请注明出处. ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring).不仅适用于var命令,也适用于let和c ...

最新文章

  1. 【No.5 类型转换导致的错误】
  2. 时间戳显示为多少分钟前,多少天前的JS处理,JS时间格式化,时间戳的转换
  3. optee的fast call的介绍
  4. Python基础教程:3个方面理解Python的类方法与静态方法
  5. 在BackTrack下基于MS08-067漏洞的渗透
  6. 第三次学JAVA再学不好就吃翔(part95)--Collections工具类
  7. centons7网卡配置文件使用openvswitch bridge
  8. 计算机科学中的虚拟化包括哪些,计算机虚拟化包括哪几个方面(计算机虚拟技术在计算机教学中的应用探究)...
  9. 为什么预估执行计划与真实执行计划会有差异?
  10. 三星Galaxy Note 10顶配版现身:陶瓷材质+12GB内存
  11. 基于Matlab----RSSI测距定位技术性能仿真
  12. 2021湖南永州四中高考成绩查询,2021湖南高中排名一览表 最新排名
  13. Math类的常用方法和静态导入.
  14. 哪个oracle工具可以免费,Sqlite导入Oracle工具下载官方免费版_SqliteToOracle2.2英文版 - 系统之家...
  15. java智能社下载_08 深入javascript
  16. 通过管道方式(CreatePipe)获取DOS命令行执行后的返回结果
  17. 电赛笔记【msp430简介——基于msp430f5529】
  18. linux基础的基础命令操作
  19. 酷派5890详细获取ROOT、以及刷机教程
  20. MessageCenterUI.exe - 无法找到入口 无法定位程序输入点

热门文章

  1. Node.js压缩web项目中的js,css和图片
  2. SpringCloud系列-Ribbon的基本应用
  3. springmvc与Servlet3.0不依赖common包实现文件上传
  4. Spring Boot Logback 配置详解
  5. 桂林理工大学计算机研究调剂,2018年桂林理工大学考研调剂信息
  6. java 多态判断非空_Java多态性理解
  7. dubbo学习之事件通知实践
  8. html语言标示,HTML语言剖析(二) HTML标记一览
  9. 使用Docker搭建私有云笔记
  10. 第1章 编程心理门槛