ES6新特征总结与介绍——声明与表达式

阮一峰的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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值