字符串模板
字符串模板
反引號 ``
反引號的位置在 tab 鍵的上方,在英文輸入下就能打出來了穴张。在出現 `` 之前如果出現下面的例子我們想在字符串內折行的話是沒法做折行的蒋情。只能用 + 做拼接的方式。
let str = 'aaa bbb ccc ddd eee fff';
console.log(str);//輸出 aaa bbb ccc ddd eee fff
let str = 'aaa bbb ccc
ddd eee fff';
console.log(str);//報錯了 不可以折行夭坪,折行的話只能字符串拼接如下
let str = 'aaa bbb ccc'+
'ddd eee fff';
console.log(str);//輸出 aaa bbb ccc ddd eee fff
使用字符串模板的話就是這么寫
let str = `aaa bbb ccc ddd eee fff`;
console.log(str);//輸出 aaa bbb ccc ddd eee fff
let str2 = `aaa bbb ccc
ddd eee fff`;
console.log(str);//不會報錯鹦马,和上面的一樣顯示
模板占位符 ${}
模板占位符就是說的用 ${} 來替換一些字符串胧谈。比如
let str = 'hello';
str = str + 'world';//以前的辦法就是用+ 號做鏈接符號。
console.log(str);
現在可以用 ${} 來代替菠红。
let str2 = 'hello';
str2 = `${str2} world`;
console.log(str2);
模板占位符支持一些簡單的加減乘除以及三目運算規(guī)則第岖。比如
let str = `${1+1-4}`;
console.log(str);
console.log(' ');
let obj = `${2>4?2:1}`;
console.log(obj);
字符串的方法
includes(), startsWith(), endsWith()
傳統(tǒng)上,JavaScript只有indexOf方法试溯,可以用來確定一個字符串是否包含在另一個字符串中蔑滓。ES6又提供了三種新方法。
- includes():返回布爾值遇绞,表示是否找到了參數字符串键袱。
- startsWith():返回布爾值,表示參數字符串是否在源字符串的頭部摹闽。
- endsWith():返回布爾值蹄咖,表示參數字符串是否在源字符串的尾部。
看下面的代碼示例
var str = 'hello world';
str.includes(world);
str.startsWith(hel);
str.endsWith(ld!);
console.log(str.includes('world'));
console.log(str.startsWith('hel'));
console.log(str.endsWith('ld!'));
由于 hello world 后面沒有 付鹿! 所以報錯了澜汤。
repeat()
repeat 方法返回一個新字符串蚜迅,表示將原字符串重復n次。
var a = 'xiancai'.repeat(2);
console.log(a);// "xiancaixiancai"
var b = 'xiancai'.repeat(0);
console.log(b);// ""返回空
如果是小數的話會取整
var a = 'xo'.repeat(3.9);
console.log(a);//"xoxoxo"
負數只會對 -1 和 0 之間的負數不會報錯俊抵,小于 -1 的負數都會報錯谁不。
padStart(),padEnd()
這兩個起到補全長度的作用徽诲。 padStart() 補全開始的長度刹帕, padEnd() 補全結束的長度。
padStart 和 padEnd 一共接受兩個參數谎替,第一個參數用來指定字符串的最小長度偷溺,第二個參數是用來補全的字符串∏幔看下面的代碼示例
var x = 'xo'
var a = x.padStart(5,'x');
console.log(a);
var b = x.padEnd(3,'xo');
console.log(b);
有錯誤挫掏,但是錯誤未知,不知道是不是瀏覽器的問題秩命】潮簦回頭了再找找問題出在什么地方。