一、let、const

之前声明变量都是用的 var,可是 var 有很多问题,比如可以重复声明、没有块级作用域等。

ES6 引入了 let 和 const,它们的区别在于:

  • var 可以重复声明,let、const 不能重复声明;
  • var 没有块级作用域,let、const 有块级作用域;
  • var 存在变量提升, let、const 不会造成变量提升;
  • var 和 let 声明一个变量,const 声明一个常量,常量的值不能修改。

举例:

重复声明:

// 1. var 可以重复声明

块级作用域:

// 1. var 没有块级作用域

变量提升:

// 1. var 存在变量提升

const 声明一个常量,常量不能改变:

const 

二、模板字符串

以前做字符串拼接时需要这样:

var 

使用 ES6 中的模板字符串,只需要这样:

let 

你甚至可以直接写一些 HTML 代码,而不用担心换行的问题:

let 

三、箭头函数(函数的简写形式)

之前写函数是这样的:

function 

用 ES6 中的箭头函数改写:

(

举例:计算两数的和

// 普通函数

另外,在箭头函数中:

  • 如果只有一个参数,那么小括号可以省略;
  • 如果函数体中只有一句代码,那么花括号可以省略。

举例:

let 

四、扩展运算符(...)

可以将数组中的元素扩展开来,如:

var 

在 ES5 中,要实现数组的深拷贝,只能通过变通方法,如:

let 

在 ES6 中,扩展运算符为我们提供了简便写法:

let 

同理,要合并数组,也能很方便做到:

// ES5 写法

五、rest 参数(...变量名,注意用到了“扩展运算符”)

以前我们获取函数中的参数,可以使用 arguments 对象,如:

function 

但是 arguments 毕竟是一个 伪数组,它不能直接使用数组的方法。如果要使用数组的方法,可以使用 Array.prototype.slice.call 方法将其转为真正的数组。

rest 参数可以将函数多余的参数放到一个真正的数组中,可以直接使用数组的方法,如:

(上面我们说“...”有“扩展”功能,事实上它还有“收集”功能)

function 

但是需要注意,rest 参数之后不能再有其他参数,如:

function 

换句话说,rest 参数必须是最后一个参数。

六、函数的默认参数

之前我们要为函数的参数指定默认值的话,可以通过如下方式:

function 

在 ES6 中,可以直接为函数参数指定默认值,如:

function 

未完待续~~

es6 数组合并_对比 ES5,学习 ES6(一)相关推荐

  1. es6 数组合并_那些会用到的 ES6 精粹(包邮送书)

    前言 最新的 ECMAScript 都已经到发布到 2019 版了. 我们应该有的态度是:Stay hungry ! Stay young ! 从接触 vue 到工作中用到 vue 将近 2 年了,在 ...

  2. es6 数组合并_九个前端开发必学超级实用的 ES6 特性

    1.展开操作符 顾名思义,用于对象或数组之前的展开操作符(-),将一个结构展开为列表. 这种写法够优雅,够简洁吧?如果不用展开操作符 我们得这么写: 展开操作符也适用于合并对象的属性: 不用展开操作符 ...

  3. es6 数组合并_JavaScript学习笔记(十九)-- ES6

    ES6新增的内容 之前的都是 ES5 的内容 接下来我们聊一下 ES6 的内容 let 和 const 关键字 我们以前都是使用 var 关键字来声明变量的 在 ES6 的时候,多了两个关键字 let ...

  4. es6 数组合并_13个不low的JS数组操作,你需要知道一下

    作者 | 火狼1来源 | https://juejin.im/post/5c92e385e51d450ce11df1d1 前言 本文主要从应用来讲数组api的一些骚操作:如一行代码扁平化n维数组.数组 ...

  5. js数组合并、去重、降维(ES6:扩展运算符、Set)

    js数组合并.去重.降维 1.合并 1.1使用concat()进行合并数组 function get_concat(collection_a, collection_b) {return collec ...

  6. python科学计数法转换_对比Python学习Go 基本数据结构

    公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...

  7. es5和es6声明类的区别/es5和es6继承的区别

    // es5和es6声明类的区别,es5没有统一语法规范.es6有统一写法规范 start. // es5声明"类"的语法--伪类 // function Person(name, ...

  8. c语言讲两个数组合并_两列数据相互去掉重复值后合并

    大家好,今日继续讲VBA数组与字典解决方案的第27讲,内容是两列数据中相互去掉重复值之后将数据合并.这讲的内容利用到动态数组,固定数组,数组的合并,数组的转置等等. 还是先看实例,下面的工作表中A列和 ...

  9. 合并两个数组并去重(ES5和ES6两种方式实现)

    https://blog.csdn.net/weixin_40890907/article/details/82764900

最新文章

  1. 句法分析语料:哈尔滨工业大学SemEval、清华大学树库
  2. Python json使用实例:字符串与对象互转代码示例
  3. 开始学习3年前的东西——MCMS
  4. 配置win2003 server IIS的总结,为什么IIs的工作进程会在空闲时间释放的问题。同时学会了throw的真正含义,throw的真正含义就是导致程序停止,崩溃,很简单,网摘也有记录。...
  5. petri网学习笔记--stochastic petri net分类
  6. java获取本机ip地址和tomcat端口号
  7. 光学表面面形的计算机仿真,光学表面面形的计算机仿真
  8. 陈坤发微博调侃 回应儿子生母话题
  9. Micro LED 巨量转移技术
  10. 电脑qq微信等软件可以上网,浏览器无法上网,电脑浏览器提示代理服务器连接失败
  11. 下面不属于电子计算机外存储器的是,2013年计算机专转本模拟题三答案
  12. python 堆叠柱状图 多列 复杂_[Python Study Notes]堆叠柱状图绘制
  13. Old fishman-老赵钓鱼
  14. django项目manage.py指定IP和端口
  15. sqlserver相关资料
  16. 解决The package java.awt is not accessible或者javax.swing is not accessible的问题
  17. 打造自己的linux桌面,亲手打造自己的Linux桌面环境
  18. 111111112222222333333
  19. 基于语音识别的提醒闹钟项目总结
  20. 流放者柯南自建服务器 linux,《流放者柯南》自建服务器简易教程攻略

热门文章

  1. 公差基本偏差代号_螺纹基础知识学习,螺纹公差标准的结构,螺纹公差带与旋合长度...
  2. gdb 查看结构体地址内容_程序员的术与道:术——gdb基本操作
  3. 酷!GitHub开发者自研火星车,开发教程全面开源
  4. 基于FPGA的竞赛抢答器
  5. c++ 遍历所有点且距离最短_C/C++ 图的最短路径 Dijkstra 算法
  6. matlab中的级数怎默算_matlab级数求和代码
  7. 计算机网络自顶向下方法【七】——链路层
  8. day01 python基本概念
  9. 通俗地解释脏读、不可重复读、幻读
  10. 【算法分析】实验 4. 回溯法求解0-1背包等问题