博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ES6新特征总结与介绍——声明与表达式
阅读量:6990 次
发布时间:2019-06-27

本文共 839 字,大约阅读时间需要 2 分钟。

阮一峰的ES6标准入门比较长,最近发现菜鸟教程的ES6教程写的还(xie)不(de)错(duan),准备读一读。

一、let与const

1. let

  • 代码块内有效
  • 不能重复声明
  • 不存在变量提升

2. const

  • 声明常量
  • 对于复杂类型,变量指向的内存地址其实是保存了一个指向实际数据的指针,所以const只能保证指针是固定的,至于指针指向的数据结构变不变就无法控制了。

二、解构赋值

1. 数组模型的解构(Array)

let [a, b, c] = [1, 2, 3];// a = 1// b = 2// c = 3复制代码

2. 对象模型的解构(Array)

let { foo, bar } = { foo: 'aaa', bar: 'bbb' };// foo = 'aaa'// bar = 'bbb'复制代码

三、展开运算符(剩余运算符)

1. 展开语法

将数组和对象展开为其中的各个元素。

let arr1 = [0, 1, 2];let arr2 = [3, 4, 5];let arr3 = [...arr1, ...arr2]//arr3 = [ 0, 1, 2, 3, 4, 5]let z = { a: 3, b: 4 };let n = { ...z };n // { a: 3, b: 4 }复制代码
2. 剩余运算符

剩余参数语法允许我们将一个不定数量的参数表示为一个数组。

function(a, b, ...rest) {  // ...}复制代码

剩余参数和 arguments对象之间的区别主要有三个:

  1. 剩余参数只包含那些没有对应形参的实参,而 arguments 对象包含了传给函数的所有实参。
  2. arguments对象不是一个真正的数组,而剩余参数是真正的数组。
  3. arguments对象还有一些附加的属性 (如callee属性)。

转载于:https://juejin.im/post/5cf629ab6fb9a07f0219ecbb

你可能感兴趣的文章
【跃迁之路】【478天】刻意练习系列237(2018.05.29)
查看>>
Windows改Linux(一),新建Ubuntu虚拟机小白向导
查看>>
HTML5调用手机前置摄像头或后置摄像头拍照,canvas显示,经过Android测试
查看>>
关于一个插图的翻译
查看>>
Spring Cloud构建微服务架构:分布式服务跟踪(入门)【Dalston版】
查看>>
【355天】跃迁之路——程序员高效学习方法论探索系列(实验阶段113-2018.01.26)...
查看>>
Rust编程语言的核心部件
查看>>
CSS(颜色_字体)
查看>>
BZOJ 1061: [Noi2008]志愿者招募【单纯形裸题】
查看>>
12月25日云栖精选夜读:阿里安全潘多拉实验室龙磊:越狱 iOS 11.2,我选了一条最难走的路...
查看>>
小菜一步一步学数据结构之(五)顺序栈
查看>>
2017年浙江省大学生高等数学 (微积分) 竞赛试题 (数学类)
查看>>
JVM上的随机数与熵池策略
查看>>
Java8并发教程:Threads和Executors
查看>>
v8世界探险(3) - v8的抽象语法树结构
查看>>
《C语言及程序设计》实践项目——用if语句实现分支结构
查看>>
“AI +跨界+技术” 看2018中国会展创新者大会的新观点
查看>>
JavaScript——数据类型转换(显式和隐式)
查看>>
【半月刊 4】前端高频面试题及答案汇总
查看>>
lc686. Repeated String Match
查看>>