以前看过一遍es6,今天面试时被问到了一个很简单的es6特性,竟然没回答上来,特来重温一下es6,做个总结性笔记。

一、什么是es6

  es6是新版本JavaScript语言的标准,在2015年6月发布,现在浏览器已支持绝大部分特性,某些不支持的也可以使用Babel转码器转换成JavaScript别的版本。es6提供了很多的新特性和语法糖,使JavaScript更加完善和丰富。

二、十大新特性简介

  1、const和let关键字

    let:新增的用来声明变量的命令,类似于var,但是只在let所在的作用域有效,并且不存在变量提升,外部声明的同名变量不会影响内部使用let声明的变量。

    const:类似于let,但是const声明的是一个只读常量,声明后必须立刻初始化。

  2、解构赋值

    定义:es6允许按照一定模式,从数组和变量中提取值,并对变量进行赋值。可以对数组、对象、字符串、函数参数进行解构赋值,如果等号右边是数值或布尔值时会先专成对象。

    作用:交换变量的值、从函数返回多个值、函数的定义、提取JSON数据、函数参数的默认值、遍历Map、输入模块的指定方法。

  3、默认参数

    可以在函数声明时对参数设置默认值。如下:

    

  4、模板表达式

    es6中可以在使用反引号定义标识的字符串中插入变量,插入的变量放在${NAME}中,如下所示:

    

  5、多行字符串

    在es6用反引号的字符串中,可以表示多行字符串。如下所示:

    

  6、增强的对象表达式

    es6中增强了对象表达式,使之书写简便并且更像一个类。

  7、箭头函数

    新增了箭头函数,是一个非常让开发者喜欢的特性,使书写函数时更加简便。但是并不是全部的函数都可以用箭头函数。

  8、promise

    新增了promise对象,是一种新的异步编程的解决方案,可以使用then方法指定resolved和rejected状态,使用catch方法可以处理出现的错误。angular2用到的就是promise。

  9、类

    class基本上只是一个es6的语法糖,绝大部分都可以使用es5做到,他的作用只不过是让JavaScript更加规范,更加像面向对象编程的语言。

  10、模块

    以前使用AMD和commonJS等方式实现模块化,现在es6规范了模块化。模块自动采用严格模式,

  此次面试问道的是...扩展运算符的作用,...运算符的作用是将一个数组转为用逗号分隔的参数序列,类似数组的对象、Map也可以用。

  此文章只是针对一些es6常用的一些特性的简介,以后会继续详细说明。

  参考文章:https://www.jianshu.com/p/53fe8b56cfb0

       http://es6.ruanyifeng.com/  

ES6常用特性总览的更多相关文章

  1. ES6常用特性

    以下是ES6排名前十的最佳特性列表(排名不分先后): Default Parameters(默认参数) in ES6 Template Literals (模板文本)in ES6 Multi-line ...

  2. ES6的一些常用特性

    由于公司的前端业务全部基于ES6开发,于是给自己开个小灶补补ES6的一些常用特性.原来打算花两天学习ES6的,结果花了3天才勉强过了一遍阮老师的ES6标准入门(水好深,ES6没学好ES7又来了...) ...

  3. ES6入门系列三(特性总览下)

    0.导言 最近从coffee切换到js,代码量一下子变大了不少,也多了些许陌生感.为了在JS代码中,更合理的使用ES6的新特性,特在此对ES6的特性做一个简单的总览. 1.模块(Module) --C ...

  4. ES6常用新特性

    https://segmentfault.com/a/1190000011976770?share_user=1030000010776722 该文章为转载文章!仅个人喜好收藏文章! 1.前言 前几天 ...

  5. ES6和常用特性归纳

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.Mozilla公司将在这个标准的基础上,推出JavaScript 2.0. ECMAS ...

  6. ES6 新特性

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  7. 轻松学会ES6新特性之生成器

    生成器虽然是ES6最具魔性的新特性,但也是最难懂得的一节,笔者写了大量的实例来具体化这种抽象的概念,能够让人一看就懂,目的是希望别人不要重复或者减少笔者学习生成器的痛苦经历. 在说具体的ES6生成器之 ...

  8. ES6常用语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015. 也就是说,ES6就是ES2015. ...

  9. ES6核心特性

    摘要:聊JS离不开ES6啊! 原文:ES6核心特性 作者:ljianshu 前言 ES6 虽提供了许多新特性,但我们实际工作中用到频率较高并不多,根据二八法则,我们应该用百分之八十的精力和时间,好好专 ...

随机推荐

  1. SGD训练时收敛速度的变化研究。

    一个典型的SGD过程中,一个epoch内的一批样本的平均梯度与梯度方差,在下图中得到了展示. 无论什么样的网络结构,无论是哪一层网络的梯度,大体上都遵循下面这样的规律: 高信号/噪音比一段时间之后,信 ...

  2. 【转】async & await 的前世今生(Updated)

    async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...

  3. ios 对于AFNetworking3.0的基本使用

    AFNetworking在3.0版本中删除了基于 NSURLConnection API的所有支持.AFHTTPRequestOperationManager已经抛弃,所以需要对数据请求进行改动. G ...

  4. C#的app.Config文件中设置,可以选择执行环境(左配置,有程序),app.Config中的appSettings首字母必须小写,符合源码要求

  5. 获取父窗口的xxx节点的方法

    window.parent.document.getElementById("xxx");获取父窗口的xxx节点$("#myEle", window.paren ...

  6. Python从入门到精通之Fifth!

    字典  类名:dict   字典是无序的. 字典的创建  info = {"k1":{1:"abc",[1,2,3]},"k2":True} ...

  7. CentOS 7 rpm安装jdk

    RPM 安装jdk1.8.0_111 ,查询系统自带的jdk rpm -qa | grep java 查询结果如下: [root@bogon ~]# rpm -qa | grep java javap ...

  8. JS模块化工具require.js教程(二):基本知识

    前一篇:JS模块化工具我们以非常简单的方式引入了requirejs,这一篇将讲述一下requirejs中的一些基本知识,包括API使用方式等 基本API require会定义三个变量:define,r ...

  9. U-Boot bootargs简析

    Linux内核启动时需要一些配置信息,如根文件系统的类型.flash分区情况.串口终端的编号.内存的使用情况等等,而由于U-Boot和Linux Kernel的镜像是独立的两个文件,所以只能两者约定好 ...

  10. MQTT

    1.IBM提出,适用于IOT,订阅和发布模式. 2.订阅和发布模式:这种模式是异步的形式,有些类似于邮件接发的形式,发送者将邮件发至代理,接收者如果没同时接收,也不影响发送者的二次发送. 3.主题模式 ...