- 表达式写法:123let fn0 = ()=> console.log('xxxx');let fn = a=>a;//箭头函数let fn1 = (a,b)=>console.log(a+b);
- 函数体的写法:函数体代码多了就用他呗,显示写法123let fn3 = ()=>{console.log('ss');}
- 实例化和继承
es5写法
123456789101112function Fn() {this.name = 'cat';}Fn.prototype.getX = function () {console.log(this.x);}var fn = new Fn();//继承var s = function () {}s.prototype = new Fn();
es6写法
|
|
- 对象字面量
作用1:写法简化:
123456789//文艺青年之普通写法var a =1,b=2;var obj={a:a,b:b}//es6写法let a =1,b=2;let obj = {a,b};
作用2:牛x之处在于es6可以方便继承啊!再原型属性中添加要继承的,这样可以直接继承。
|
|
- 模板字符串
|
|
- 解构赋值,主要用于react native,作用为将复杂框架对象中需要的组件引入后付给对象.
|
|
默认赋值,任意赋值,扩展运算符
12345678910111213//默认参数function sum(a=3,b=4) {console.log(a+b);//此时调用sum(),没实参,则走默认参数,弹出7}//参数不确定,使用...+arr,可以直接用了。function sum(a,b,...ary) {console.log(...ary);}//扩展运算符,有点像concatvar ary = [1,2,3,4];var ary1 = [...ary,3,3];//此时已经将ary放在了ary1里面let const
- let:不能进行预解释,会形成块级作用域,块级作用域中的this就会变为上级作用域的this
- const:不能进行预解释,无法二次赋值123for(let i = 0;i<xx.length;i++){//此时再循环中就会形成一个块级作用域,每一次i就会单独作为作用域参数使用。}