保護眼睛最好的東西,ES6 大勝利!
使用兩個反引號 `` 就可以把你的樣板放在裡面。
let name = '';
let age = '';
let education = '';
let movement = '';
const text = `我的名字叫做${ name },
今年${ age }歲,是個平凡的${ education }生。
平常沒事做,所以都在${ movement }。`
比起傳統模板,ES6 的字串模板有幾個優點:
字串樣板的上位版(應該啦
主要用法在字串模板的第一個反引號前新增一個名字,而新增的名字則是個 function 的名字。
let name = "基德";
let age = 22;
let template = funName`我叫${ name },是個${ age }`;
該 function 會接收原本字串樣板的資訊。將接收的資訊作為獨立的片段使用
function funName(strings, nameExp, ageExp){
// strings 存放原本字串的獨立片段,以上面 template 為例
let str0 = strings[0]; // 我是
let str1 = strings[1]; // ,是個
// nameExp 與 ageExp 則是接收原本字串樣板的變數。
console.log('nameExp:', nameExp); // "基德"
console.log('ageExp:', ageExp); // 22
}
最後需要將所有獨立片段做組合並返回
return str0 + nameExp + str1 + ageExp;
全部程式碼:
let name = "基德";
let age = 22;
function tag(strings, nameExp, ageExp){
let str0 = strings[0];
let str1 = strings[1];
let ageStr;
if(ageExp > 20){
ageStr = '律師';
}
else{
ageStr = '留級生';
}
return str0 + nameExp + str1 + ageStr;
};
let temp = tag`我叫${name},是個${age}`;
console.log(temp); // 我叫基德,是個律師
字串模板就如同第一句話說得,有他出現真好,想當初還在用+號做樣板的時候沒對好就全部歪了...
明天也是 ES6的介紹,只是還沒想到要寫啥~~