es6简要笔记

  • javascript三大组成部分:ECMAScript(核心),BOM(浏览器对象模型),DOM(文档对象模型)

ES5与ES3

  • 我们平时学的一般都是ECMAScript 5(简称ES5),可能也有部分ECMAScript 3(简称ES3)了,比如大家看的高级程序设计讲得就是ES5与ES3。

ES6

  • ECMAScript 6(ES6)发布于2015年,是ECMAScript最新版本,也是新标准,现在各个主流浏览器对ES6的支持度良好,可以放心使用。可能我们现在对ES6的接触比较少,但是外面公司很多都是用ES6进行编程的。

ES6的变化

声明变量与常量
  • ES5种是用var 语句声明,缺点:存在变量提升,声明常量也是用var;
  • ES6种用let 语句声明变量,用const声明常量
    • 优点1:两种语句都不存在变量提升。可以分开声明。
    • 优点2:let语句为javascript新增了块级作用域。

举个栗子

var a = 3;
if(true){
    var a = 4;
}
console.log(a); 
let a = 3;
if(true){
    let a = 4;
}
console.log(a);

变量的解构赋值

ES6允许从数组和对象中提取变量值,对变量进行赋值,这就是解构赋值。

ES5与ES6对比
  • ES5写法
var a = 1;
var b = 2;
var c = 3;
  • ES6写法
var [a, b, c] = [1, 2, 3];
这样就给变量a b c对应的赋值了。这里讲的是用数组的结构赋值,当然还有对象的解构赋值,这里就先不阐述了,有兴趣的同学可以来自己去探索,也可以来找我讨论。

### 下一个亮点 箭头函数(=>)
* ES5函数的写法

var f = function(v) {
return v;
};

* ES6可以用箭头函数这样写

var f = (v) => v;

这两种写法是等效的

### class
class是ES6新添加的,相当于是类的意思,class是给ES5中的构造函数包装了一下,让对象原型的写法更加清晰,更像面向对象的写法。
###### 用法
* ES中写在构造函数中的属性直接写在constructor方法中;
* 以前写在原型中的方法也写在class中,就像写constructor方法一样;

class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toString() {
return '(' + this.x + ' , ' + this.y + ')';
}
}
let instance = new Point("a", "b");
console.log(instance);

ES5的写法

function Point(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.toString = function(){
return '(' + this.x + ' , ' + this.y + ')';
}


### string常用方法
直接把高程书上的例子敲给他们看就行了。

只写了一些很基本的ES6,这些要是你感觉自己也没怎么理解的话就按照自己的讲,比如说那个class你不想讲的话就删掉。

### 扩展运算符
扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值

### rest运算符
rest运算符也是三个点号,不过其功能与扩展运算符恰好相反,把逗号隔开的值序列组合成一个数组








你可能感兴趣的:(es6简要笔记)