在ES5中字符串的拼接如下:
let es6 = 'ES6';
let str = '学习' + es6 + '很开心';
console.log(str); //学习ES6很开心
这样拼接有些麻烦且容易产生引号嵌套问题。所以在ES6中采用了新的拼接方式,如下(以反引号`包裹,变量用${}包裹):
let es6 = 'ES6';
let str = `学习${es6}很开心`;
console.log(str); //学习ES6很开心
并且在ES6的字符串拼接中,也可以插入html标签,如下:
let es6 = 'ES6';
let str = `"color:red">学习</b>${es6}很开心`;
document.write(str); //学习ES6很开心(学习二字加粗变红了)
let a = 1;
let b = 2;
let res = `${a + b}`;
console.log(res); //3
在ES5中字符串的查找:
let es6 = 'ES6';
let str = '学习' + es6 + '很开心';
console.log(str.indexOf(es6)>0); //true
而在ES6中字符串的查找如下:
let es6 = 'ES6';
let str = '学习' + es6 + '很开心';
console.log(str.includes(es6)); //true
判断字符串开头是否存在(startsWith):
let es6 = 'ES6';
let str = '学习' + es6 + '很开心';
console.log(str.startsWith(es6));
判断字符串结尾是否存在(endsWith):
let es6 = 'ES6';
let str = '学习' + es6 + '很开心';
console.log(str.endsWith(es6));
console.log('学习!'.repeat(5)); //学习!学习!学习!学习!学习!
二进制的英文单词是binary:
let a = 0b0101; //b可大写可小写
console.log(a); //5
八进制的英文单词是octal:
let a = 0o1234; //o可大写可小写
console.log(a); //668
let a = 123;
console.log(Number.isFinite(a)); //true
console.log(Number.isFinite(NaN)); //false
console.log(Number.isFinite(undefoned)); //false
console.log(Number.isFinite(null)); //false
console.log(Number.isFinite('a')); //false
只有是NaN的时候才为真,别的任何值都为假
console.log(Number.isNaN(NaN)); //true
只有是整数时才为真,别的值都为假
console.log(Number.isInteger(1)); //true
console.log(Number.isInteger(1+'1')); //false
在ES6中,将最大安全整数以及最小安全整数定义成了一个常量,也就是2的53次方减1
console.log(Math.pow(2,53)-1); //9007199254740991
console.log(Number.MAX_SAFE_INTEGER); //9007199254740991
console.log(Number.MIN_SAFE_INTEGER); //-9007199254740991
判断一个数是不是安全整数用isSafeInteger
let a = Math.pow(2,53)-1;
let b = Math.pow(2,53);
console.log(Number.isSafeInteger(a)); //true
console.log(Number.isSafeInteger(b)); //false