字符串擴展
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}