ECMAScript 6 学习笔记(一)

1 变量

var 变量的缺陷:

(1)可以重复声明;

(2)无法限制修改;

(3)没有块级作用域的概念;

let 不能重复声明,可修改-变量,块级作用域

const 不能重复声明,不可修改-常量,块级作用域

2 函数

原版:function name() { }

新版:() => { }

(1)如果只有一个参数,圆括号可以省略;

(2)如果只有一个return,花括号可以省略;

例子:

let show = a => a * 2;

等于 let show = (a) => {

    return a * 2;

}

3 函数的参数

(1)参数扩展:

    ① 收集参数:...args接收剩余参数

    ② 展开数组:let arr = [1, 2, 3];

       function show(a, b, c) {...}

        show(...arr);

        或者

        let arr1 = [1, 2, 3];

        let arr2 = [5, 6, 7];

        let arr = [...arr1, ...arr2];

(2)默认参数

4 解构赋值

(1)左右结构必须相同

(2)右边必须是值

(3)声明赋值不能分开

例子 let [a, b, c] = [1, 2, 3];

let [{a, b}, [n1, n2], num, str] = [{a:1, b:2}, [1, 2], 1, 'naive'];

let [json, arr, num, str] = [{a:1, b:2}, [1, 2], 1, 'naive'];

5 数组

新增方法:

map ----- 映射

let arr = [12, 58, 99, 76];

let result = arr.map(item => item >= 60 ? "及格": "不及格");

映射为一个新的字符串数组

reduce ----- 汇总

let arr = [1, 2, 3];

let result = arr.reduce(function(tmp, item, index) {

    rerturn tmp + item;   // tmp是上一次的和,item是本次加数,index是加数的索引

})

filter ----- 过滤  函数内返回true则保留,false就删除

forEach ----- 迭代

6 字符串

(1)两个新方法:startsWith、endsWith

(2)字符串模板  `${a}`;  let a = 12;  可以折行

7 面向对象

(1)添加了class关键字来创建类,添加了constructor构造方法,可以通过构造方法添加实例变量,可以再class里面定义方法,并且不需要function关键字(showname() {...})

(2)继承:使用extends关键字实现继承,赋值父类的参数可以再构造方法中调用super方法并传入参数值。

8 JSON

(1)JSON.stringify():将json对象解析为字符串;encodeURIComponent包裹可以用于URL传输。

        JSON.parse():将字符串解析为json对象。

(2)字符串类型JSON的标准写法:

        只能用双引号,所有的键必须用引号包起来。

(3)JSON简写

    let a = 1; let b = 2; let json = {a, b, c: 121};

    键和值一样的时候,可以只写一个

    函数可以不写function关键字

你可能感兴趣的:(ECMAScript 6 学习笔记(一))