es6 对 es5 做出很多改变,可以说是简化了 es5 的很多写法。同时又融合进去很多新的思想,方法
1.es6声明变量的方式为6种
(1) 继承了 es5 中 var、function方法
(2) let、const
let 只在其所在的代码块内有效
适合 for 循环的计数器
var 声明的变量,在声明前使用该变量为 undefined;let 声明的变量,在声明前使用该变量则会报错。(暂时性死区)
不允许在同一作用域中重复声明同一变量,否则会报错
const 声明一个只读常量,一旦声明,常量的值不能改变
声明之后需要初始化,不能之后赋值
也存在暂时性死区
(3) import、class
2.循环 for of
for( let v of arr )
3.模板字符串:采用反撇号(`)
(1) 保留其中的空格、换行
(2) 不想换行时,可用 trim( ) 方法除它
(3) 可嵌套变量,${ } -> 其中可以是变量、表达式、函数等
4.Number 对象
(1) 新增方法,Number.isFinite( ) / Number.isNaN( ) ( 数值是否是有限 / 检查一个值是否为 NAN)
(2) 将 parseInt( )、parseFloa( ) 移到 Number 对象上
(3) Number.isInterger( ) 判断数值是否为整数(2 / 2.0 整数和浮点数被视为同一个数)
5.Math 对象
(1) Math.trunc 去除一个数的小数部分,返回其整数部分
(2) Math.sign 判断一个数是正数(返回+1)、负数(返回-1)、0(返回0)、-0(返回-0)、其他值(返回NAN)
(3) Math.cbrt 计算一个数的立方根
(4) Math.imul 带符号整数形式的相乘结果。 Math.imul(2 , -3) // -6
6.函数
(1) .为函数的参数设置默认值
function f(x = 0 ,y = 0){ }
(2).箭头函数
var f = function(v){ var f = v => v
return v;
}
如果箭头函数不需要参数或有多个参数时,用()代表参数部分
var f = function( ){ var f = () => 5
return v;
}
var f = function(v1,v2){ var f =(v1,v2) => v1 + v2
return v1 + v2;
}
代码块中多于一句语句时,用大括号将其括起来。并使用 return 语句返回。
箭头函数没有自己的 this,函数中用到的 this 是定义时的 this。