1.let
1.let 声明的变量只在 let 命令所在的代码块内有效。
2.let 只能声明一次 var 可以声明多次:
3.不存在变量提升
4.不影响作用域
注:通常与循环一起使用
2.const
1.const 声明一个只读的常量,一旦声明,常量的值就不能改变。
2.声明必须赋初始值
3.标识符一般为大写
4.只能声明一次
5.块级作用域
注:对象和数组修改不会触发const错误
3.结构赋值:他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。
let [a, b, c] = [1, 2, 3];
a,b,c的结果分别为1,2,3
4.剩余运算符|扩展运算符(…),注:通常写在最后
let [a, ...b] = [1, 2, 3,4,5]
a的结果为1,b的结果为[2,3,4,5]-数组
let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
a的结果为10,b的结果为20,rest的结果为{c:30,d:40}-对象
5.ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法
includes():返回布尔值,判断是否找到参数字符串。
startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
startsWith与endsWith方法都可以接受两个参数,需要搜索的字符串,和可选的搜索起始位置索引(下标0)。
查找到返回true,否则返回false
不能写正则验证
6.repeat(number):返回新的字符串,表示将字符串重复指定次数返回(不修改原字符串)
1.如果参数是小数,向下取整
2.如果参数是 0 至 -1 之间的小数,会进行取整运算,0 至 -1 之间的小数取整得到 -0 ,等同于 repeat 零次
3.如果参数是 NaN,等同于 repeat 零次
4.如果参数是负数或者 Infinity ,会报错:
5.如果传入的参数是字符串,零次
7.padStart(总长度,“字符串”) 返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串
let str = "abc";
let a = str.padStart(5,"xy");
console.log(a);//结果为xyabc
8.padEnd():返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串
let str = "abc";
let b = str.padEnd(5,"yy");
console.log(b);//结果为abcyy
以上两个方法接受两个参数,第一个参数是指定生成的字符串的最小长度,
第二个参数是用来补全的字符串。如果没有指定第二个参数,默认用空格填充
9.模板字符串`` 添加${a}
let a = 9999;
let str1 = "123"+a+
"321";
console.log(str1);//结果为1239999321
let str2 = `sdhhakjshdjkasdhjs${a}
akhdjka
shdjjkda
ssjkdahjad`
console.log(str2);//结果为
sdhhakjshdjkasdhjs9999
akhdjka
ssjkdahjad
alert`Hello world!`;等价于alert('Hello world!');
10.a.toString(转进制)
二进制表示法新写法: 前缀 0b 或 0B 。
八进制表示法新写法: 前缀 0o 或 0O 。
十六进制a-f|A-F
Number.MAX_SAFE_INTEGER最大安全整数
Number.MIN_SAFE_INTEGER最小安全整数
11.Number.isFinite()检查一个数值是否有限,返回ture,否则返回false
没有隐式的 Number() 类型转换,所有非数值都返回 false
Number.isInteger(0),用于判断给定的参数是否为整数。返回true,否则返回false