ES6常用特性总览

 

  以前看过一遍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/  

posted @ 2018-07-23 22:44  我叫李小白  阅读(218)  评论(0编辑  收藏  举报