ES6简单语法

一、ES6简介

ECMAScript6.0(简称ES6)下一代标准,在2015年6月正式发布。目标:js语言编写复杂的大型应用程序,成为企业级开发语言。规定了浏览器脚本的标准。

二、新增let、const命令 用来声明变量

let声明的变量:1、没有声明提升,必须先声明再使用。2.不能重复定义

为js新增加了块级作用域 ,在块级作用域中声明函数。声明变量。只有在代码块内有效。

const声明变量。声明的常量。一旦声明,常量的值就不能改变。

三、Class

引入Class(类)这个概念

创建对象

ES5

//构造函数法


ES6简单语法_第1张图片
ES5与ES6的区别


prototype对象的constructor属性,直接指向“类”的本身 ,与ES5行为是一致的。

constructor方法是类默认的方法

2、class的继承

使用extents关键字 与ES5修改原型链相比清晰很多

使用 super关键字 ,它在这里表示父类的构造函数,用来新建父类的this对象。

ES5继承,实质是先创建子类的实例对象this,然后再讲父类的方法添加到this上面(Parent.apply(this))

ES6继承,实质是先创建父类的实例对象this(所以必须先调用super方法),然后再用子类的构造函数修改this。


ES6简单语法_第2张图片
ES6继承方法

三、string

新增模板字符串 ``

用`` 反引号来标识起始,用${}来引用变量

字符串自动解析变量

` my name is ${this.name}`

四、Set和Map数据结构

map的forEach()方法

键、值

Map.prototype【在控制台敲】

map.forEach()

map.keys()

Set 集合  构造函数 就有原型 Set.prototype

类数组结构

唯一数组的集合

五、for...of循环,作为遍历所有数据结构的统一方法、

循环可以使用的范围包括数组、Set、和Map结构,某些类数组,以及字符串

不支持对象遍历

私有属性size

案例:


ES6简单语法_第3张图片
面试典型案例

六、新增箭头运算符

var priint = function(msg){

console.log(msg)

}

print("1617");

var print = (msg)=>{console.log(msg)}

print();

var print2 = () =>{

console.log();

}

匿名函数简写形式

//function(){}

varstuList=[{name:"tom1",age:8},{name:"tom2",age:18},{name:"tom3",age:28}];

//按年龄排序

//    stuList.sort(function(a,b){

//        return a.age > b.age;

//    });

stuList.sort((a,b)=>{

returna.age>b.age;

});

document.body.onclick=e=>console.log(e.pageX+" "+e.pageY+this);

varperson={

name:"tom",

say:() => console.log(this);

}

注意! 目前箭头形式匿名函数简写,

函数执行时内部this始终代表window。

七、总结

目前并不是所有的浏览器都兼容ES6全部特性,用Babel可以将ES6码转为ES5代码。

可以用20%的语法,在ES6的日常使用中占80%。

你可能感兴趣的:(ES6简单语法)