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

ES6新特征总结与介绍——声明与表达式相关推荐

  1. iOS6新特征:UICollectionView介绍

      1.1. Collection View 全家福: UICollectionView, UITableView, NSCollectionView n   不直接等效于NSCollectionVi ...

  2. ES6新特性_ES6模块化介绍_优势_以及产品---JavaScript_ECMAScript_ES6-ES11新特性工作笔记041

    可以看到,模块化是从es6才开始提出的,以前只是社区中提出来的 关于模块化的,一些规范,一些编码的规范,后来才有了 es6的模块化. 以前基于社区提出来的一些模块化规范, 形成的产品有,比如依据Com ...

  3. ES6新特性_ES6集合介绍与API---JavaScript_ECMAScript_ES6-ES11新特性工作笔记030

    然后我们再说一下ES6中的集合: set 跟java中的set类似 可以看到new一个Set然后写入内容 注意([,,,])这样写 然后打印一下s2看看 注意.数组获取长度是length 这个set集 ...

  4. ES6新特性_ES6生成器函数声明与调用---JavaScript_ECMAScript_ES6-ES11新特性工作笔记020

    然后我们再来看这个 生成器函数的声明调用 生成器函数就是在函数,前面加个*,表示这个是个生成器函数. 然后我们写个iterator=gen(); 调用一下这个函数,看看这个函数中有个next方法 所以 ...

  5. iOS6新特征:UICollectionView介绍-非常棒 -转

    传送门:http://www.devdiv.com/forum.php?mod=viewthread&tid=128378 转载于:https://www.cnblogs.com/ygm900 ...

  6. ES6新特性_ES6_Symbol的介绍与创建---JavaScript_ECMAScript_ES6-ES11新特性工作笔记015

    这个symbol类型的值,不能进行加减乘除运算. symbol是表示一个独一无二的值. 可以通过Symbol()来创建一个Symbol 打印出来看看,右边 还可以通过,Symbol('xxx')里面写 ...

  7. ES6, ES7, ES8, ES9 以及 ES10 新特征

    目录 1.  ES6 新特征 (2015) 1.1 module 1.1.1 export 1.1.2 import 1.2 Arrow function (箭头函数) 1.2.1 箭头函数结构 1. ...

  8. ios6:新特征介绍

    关于ios6的一些东西,找到几个不错的博客:iOS6新特征:参考资料和示例汇总 http://www.onevcat.com/tag/wwdc/ 本文来自:iOS6新特征:新特征介绍 下面我们分别来看 ...

  9. ES6新特性_ES6扩展运算符的介绍---JavaScript_ECMAScript_ES6-ES11新特性工作笔记013

    接下来去看es6的扩展运算符 比如我声明一个常量数组tfboys=['','','']; 然后写一个函数,chunwan,然后 chunwan(tfboys);调用以后可以看到右边打印出来了,可以看到 ...

最新文章

  1. LCA ---- E. Tree Queries[LCA或者dfs序的解法]
  2. linux中用户与组的概念,Linux用户和组的概念
  3. 如何处理JavaScript中的事件处理(示例和全部)
  4. 在SQL Server中用好模糊查询指令LIKE
  5. 淘宝网架构分享总结[转]
  6. java和c的反汇编_JAVAP -C反汇编指令的学习(转载)
  7. java 图片地址,java中图片地址存入数据库
  8. 【转】gem install libv8 错误
  9. ThinkPHP5.0版本和ThinkPHP3.2版本的差别
  10. php exeil导入,反编译工具ILSpy.exe
  11. 使用dos删除隐藏的.git文件
  12. CTE6备考与考试感悟
  13. ag-grid在Vue项目中的基本使用
  14. 程序员怎么从中国直接去美国工作?
  15. python uppercase函数_字符串-短rot13函数-Python
  16. HTML免费在线文档批量翻译工具
  17. Ubuntu 16.04 amd64下deb安装gcc5.4和所有依赖
  18. 国外问卷调查,一个不错的网上兼职项目
  19. win10如何重新安装微软应用商店
  20. 程序测试的逻辑覆盖测试方法

热门文章

  1. boost::outcome_v2::std_result用法的测试程序
  2. Boost:boost :: bind相等运算符的测试程序
  3. Boost:bind绑定转发2个参数的测试
  4. DCMTK:简单存储服务类提供者
  5. Qt Creator检查代码语法
  6. OpenGL tessellatedcube棋盘格立方体的实例
  7. C++Fenwick tree芬威克树的实现算法(附完整源码)
  8. QT的QHoverEvent类的使用
  9. 经典C语言程序100例之八二
  10. 经典C语言程序100例之二