1.let与const
(1)let声明的变量只在代码块中生效,不存在变量提升,不能定义同一变量;
(2)const一旦声明,就必须初始化,const保证的是其变量指向的那个内存地址所保存的数据不可改变
2.字符串方法
(1)es6中可以用for... of循环,并可以识别大于0xFFFF
的码点;
(2)新增includes(),startsWith(),endWith()方法,判断一个字符串中是否包含另一个字符串,并返回布尔值;
let s = 'Hello world';
s.includes('l'); // true
并且方法提供了第二个参数用以说明从第几位开始查找
s.includes('hello',1) ; // false
s.includes('hello',0) ; // true
其中endWith针对的是前N个字符,其他两个方法针对从第n
个位置直到字符串结束。
(3)repeat()方法表示让字符串重复几次;
(4)padStart(),padEnd()自动补齐,有两个参数,第一个是补齐生效的最大长度,第二个是用于补齐的字符串;
(5)模板字符串
用反引号`标识
$('#app').append(`
hello <b>${str2}</b> items
lallal <i>${str1}</i>
aaaaaa
`);
3.数字方法
(1)Number.isFinite()判断数字是否有限,Number.isNaN()判断是否为NaN类型
(2)Number.isInteger()判断是否是整数;
(3)Math.trunc()去掉小数部分,取整数部分;
(4)Math.sign()判断一个数是整数,负数,还是零,它会返回五个值
参数为正数,返回+1
;
参数为负数,返回-1
;
参数为 0,返回0
;
参数为-0,返回-0
;
其他值,返回NaN
。
4.函数方法
(1)es6中可以为参数传递默认值
(2)reset参数:rest 参数搭配的变量是一个数组,该变量将多余的参数放入数组中;
(3)name属性,返回函数名;
(4)箭头函数:
var f = p => v;
等同于
var f = function(p){
return v;
}
如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。
var f = () => v;
var sum = (num1,num2) => num1+ num2;
如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return
语句返回
var sun = (num1,num2) => { return num1 + num2; }
如果箭头函数只有一行语句,且不需要返回值,可以采用下面的写法,就不用写大括号了
var print = () => void print123();
注意点:
(1)函数体内的this
对象,就是定义时所在的对象,而不是使用时所在的对象。
(2)不可以当作构造函数,也就是说,不可以使用new
命令,否则会抛出一个错误。
(3)不可以使用arguments
对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。
(4)不可以使用yield
命令,因此箭头函数不能用作 Generator 函数。