当前位置: 首页 > news >正文

es6 的解构赋值

1.数组的结构赋值

以前,为变量赋值,只能直接指定值。

let a = 1;
let b = 2;
let c = 3;

ES6 允许写成下面这样。

let [a, b, c] = [1, 2, 3];
console.log(a);//1
console.log(b);//2
console.log(c);//3

 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值

 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。

2.对象的解构赋值  

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值

  let { bar1, foo } = { foo: 'aaa', bar1: 'bbb' };console.log(foo, // "aaa"bar1 // "bbb");let { baz } = { foo: 'aaa', bar: 'bbb' };console.log(baz);// undefined

如果解构失败,变量的值等于undefined。 

 3.字符串的解构赋值

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

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


http://www.mrgr.cn/news/695.html

相关文章:

  • 使用python-pptx添加文本框:在幻灯片中插入文本框并编辑文本内容
  • (十四)SpringCloudAlibaba-Nacos集群
  • 人格障碍诊断系统
  • Ps:首选项 - 文字
  • 谈谈ChatGPT、GPT4.0及GPT-4o
  • 秋招突击——8/15——知识补充——垃圾回收机制
  • Aria2@RPC下载@Alist批量下载
  • JMeter进阶技巧:参数化与数据驱动测试
  • 基于微信小程序的课堂考勤系统的设计与实现(论文+源码)_kaic
  • Vue 添加 dayjs 方便日期操作
  • 机器学习中的多模态学习
  • 【C++】C++11新增特性
  • 【网络】网络基础概念背景TCP/IP 五层模型跨网络传输详解
  • C/C++实现蓝屏2.0
  • 如何建立一个既能快速记录又易于回顾的笔记系统?
  • C语言第20天笔记
  • Unity游戏开发002
  • [Qt][对话框][下]详细讲解
  • 对比state和props的区别?
  • 在 C# 中使用 AutoMapper 进行对象映射