ES6

1 let 与const

①let 不存在变量提升,var 会变量提升:
let 声明的变量只在 let 命令所在的代码块内有效。
const 声明一个只读的常量,一旦声明,常量的值就不能改变。

let 与const 定义的变量 作用于只限于当前代码区块内

②对于简单类型,const 声明的简单类型变量等同于常量;而复杂类型(对象 object,数组 array,函数 function),变量指向的内存地址其实是保存了一个指向实际数据的指针,它无法控制指针指向的数据结构;

const 定义对象的属性可被修改

2 箭头函数

不需要 function 关键字来创建函数,省略 return 关键字,继承当前上下文的 this 关键字;箭头函数始终都是表达式, 全程是箭头函数表达式, 因此因此仅在表达式有效时才能使用;
eg:
    x => x * x  等价于   function(x){returnx * x;}    ||    包含多个参数时,需带小括号  (x,y) => x * y   ||     包含多条表达式时,需带花括号 x =>  { if (x >0) { returnx * x;     } else { return- x * x; } }
简化函数定义,相当于匿名函数;匿名函数中,this的作用范围始终是global,无法修改;

3 Math 新方法

Math.cbrt:用于计算一个数的立方根;
Math.imul:两个数以 32 位带符号整数形式相乘的结果,返回的也是一个 32 位的带符号整数;
Math.hypot:用于计算所有参数的平方和的平方根;
Math.clz32:用于返回数字的32 位无符号整数形式的前导0的个数;
Math.trunc:用于返回数字的整数部分;
Math.fround:用于获取数字的32位单精度浮点数形式;
Math.sign:判断数字的符号(正、负、0);
Math.expm1():用于计算 e 的 x 次方减 1 的结果,即 Math.exp(x) - 1 ;
Math.log1p(x):用于计算1 + x 的自然对数,即 Math.log(1 + x) ;
Math.log10(x):Math.log2();

4 对象字面量

属性的简洁表示法
拓展运算符:用于取出参数对象所有可遍历属性然后拷贝到当前对象;

拓展运算符 ‘...’的使用

对象的新方法:Object.assign(target, source_1, ···) 、Object.is(value1, value2)

5 数组

Array.of():
Array.from():
类数组对象:必须含有 length 属性,且元素属性名必须是数值或者可转换为数值的字符。

类数组对象使用实例


6 for...of循环

7模块

export 与 import

指向的内存地址所保存的数据不允许改动

8 扩展运算符

扩展运算符 “...”将一个数组转为用逗号分隔的参数序列,可用于复制、合并数组,并可以将字符串转为数组(代替split 方法);

你可能感兴趣的:(ES6)