${}占位符需要和模板字符串配合使用。
ES2015新增此語法結構。
瀏覽器支持:
(1).IE9+瀏覽器支持占位符。
(2).edge瀏覽器支持占位符。
(3).火狐瀏覽器支持占位符。
(4).谷歌瀏覽器支持占位符。
(5).opera瀏覽器支持占位符。
(6).safria瀏覽器支持占位符。
上面已經對占位符做了簡單的介紹,但是還需要明晰如下兩個問題:
一.什么是占位符:
首先解決第一個問題,大家知道站位是什么意思,比如讓同學在自習室占個座位。
占位符的功能大致也是如此,${}占位符也是為某一個數據結構占據位置。
二.占位符必要性:
在ES2015之前,如果在字符串中插入一個JavaScript表達式,需要使用如下形式:
|
1
2
|
let
address=
"北京"
;
let
str=
"船長位於"
+address+
",哈哈哈"
|
上面代碼將變量address插入到字符串中,需要使用+進行字符串連接。
如果插入的數量較多,或者說較為復雜的操作,那么上面的方式將十分繁瑣,不人性化。
再來看一下利用占位符對上面功能的實現,代碼實例如下:
|
1
2
3
|
let
address=
"北京"
;
let
str=`船長位於${address},哈哈哈`;
console.log(str);
|
代碼運行效果截圖如下:
| 船長位於北京,哈哈哈 |
上面代碼很自然的利用占位符將變量插入到字符串中。
特別說明:這里的字符串不是普通字符串,而是模板字符串。
|
1
2
3
4
5
|
let
func=(url)=>{
return
url;
}
console.log(str);
|
代碼運行效果截圖如下:
| 本站的url地址是https://www.cnblogs.com/watermelons |
占位符中的表達式是對函數的調用,函數返回一個字符串。
|
1
2
3
|
let
arr = [
"是"
,
"船"
,
"長"
,
"啊"
];
let
str = `${arr}`;
console.log(str);
|
代碼運行效果截圖如下:
| 是,船,長,啊 |
輸出值是"是,船,長,啊",可能會有朋友對這個結果有疑問。
占位符中是數組,但是這個數組所處的上下文環境是字符串。
那么就隱身調用toString方法將其轉換為字符串。
