字符串扩展
unicode表示法
console.log('abc');
console.log('\u0061');
console.log('\u4e01');
console.log('\u{1F602}');
结果为:
abc
a
丁
?
模板字符串
保持字符内容格式,可以换行
var str1 = 'a b';
var str2 = `a
b`;
console.log(str1);
console.log(str2);
结果为:
a b
a
b
变量表达式解析:
var str =
`
<h1>${1 + 1}</h1>
<h1>${Math.random()}</h1>
`
console.log(str)
结果为:
<h1>2</h1>
<h1>0.835557572532968</h1>
数值扩展
- 二进制 0b
- 八进制 0o(ES6之前:0开头表示八进制)
- 十进制 非0开头
- 十六进制 0x
var a = 0b10; //二进制
var b = 010; //八进制
var c = 10; //十进制
var d = 0x10; //十六进制
console.log(a, b, c, d)
结果为:
2 //二进制
8 //八进制
10 //十进制
16 //十六进制
数组扩展
扩展运算符的使用
对象扩展
- 对象简介表示法
- 属性名表达式
对象简介表示法
当对象的key与对应的属性锁引用的变量或函数同名的时候可以简写成一个
var a = 1;
var fn = function () { };
var obj = {
a: a,
fn: fn
}
等同于:
//简写
var a = 1;
var fn = function () { };
var obj = {
a,
fn
}
属性名表达式
对象的属性名可以接收表达式做为key,表达式计算的结果做为最终的key
var x = '浅殇';
var obj1 = {
[x]: 1
};
console.log(obj1);
结果为:
{浅殇: 1}