JavaScript字符串是原始值。此外,字符串是不可變的。這意味著如果你修改一個(gè)字符串,你總是會(huì)得到一個(gè)新的字符串。原始字符串不會(huì)被改變。
要?jiǎng)?chuàng)建文字字符串,您可以使用單引號(hào) '或雙引號(hào) "。例如代碼let greeting = "Hello";。
Javascript在ES6引入了模板字面量,允許您使用反引號(hào)```定義字符串。例如代碼let name = John';。
模板字面量允許您在字符串在不轉(zhuǎn)義的情況下使用單引號(hào)和雙引號(hào),例如代碼let mesage = "I'm good". She said";。
此外,您可以將變量和表達(dá)式放在模板字面量。JavaScript將會(huì)使用變量的值替填充變量的位置。這稱為字符串插值。
在此示例中,JavaScript將name變量的位置插入變量的值。
let name = 'John';
let message = `Hi, I'm ${name}.`;
console.log(message);
Hi, I'm John.
轉(zhuǎn)義特殊字符
要轉(zhuǎn)義特殊字符,請(qǐng)使用反斜杠\\字符。例如:windows換行'\\r\\n'。Unix/Linux換行符'\\n'。tab制表符'\\t'。反斜杠'\\\\',這里的第一個(gè)\\ 用于轉(zhuǎn)義第二個(gè)\\。
代碼let str = 'I\\'m a string!';使用反斜杠字符轉(zhuǎn)義字符串中的單引號(hào)字符。
獲取字符串的長(zhǎng)度
JavaScript具有String對(duì)象,它是原始類型string的封裝對(duì)象。因此,您可以從字符串訪問(wèn)String對(duì)象的所有屬性和方法。
要獲取字符串的長(zhǎng)度可以訪問(wèn)String對(duì)象的length屬性,它會(huì)返回字符串的長(zhǎng)度。
let str = "Good Morning!";
console.log(str.length); // 13
訪問(wèn)字符
要訪問(wèn)字符串中的字符,您可以使用數(shù)組的表示法,其索引從零開(kāi)始。
字符串的第一個(gè)字符的索引是0,字符串的最后一個(gè)字符可以通過(guò)字符串的長(zhǎng)度減1來(lái)表示索引length - 1。
代碼let str = "Hello"; console.log(str[0]);返回字符串的第一個(gè)字符。console.log(str[str.length -1]); 返回字符串的最后一個(gè)字符。
let str = "Hello";
console.log(str[0]);
console.log(str[str.length -1]);
+運(yùn)算符連接字符串
要連接兩個(gè)或多個(gè)字符串,請(qǐng)使用+運(yùn)算符。如果你想接連的連接一個(gè)字符串,你可以使用+=操作符。
let name = 'John';
let str = 'Hello ' + name;
let str += 'Hello ';
console.log(str);
將值轉(zhuǎn)換為字符串
要將非字符串值轉(zhuǎn)換為字符串,第一種是創(chuàng)建String對(duì)象,并將非字符串值作為第一個(gè)參數(shù)傳遞給String對(duì)象,例如代碼String(n)。
第二種是使用加號(hào)運(yùn)算符+將非字符串的變量與字符串變量相加,將會(huì)得到一個(gè)新的字符串,例如代碼let str = 'Hello ' + 123;。
第三種調(diào)用所有原始類型都有的toString()方法,注意這里說(shuō)所有類型不包括undefined和null。
將字符串轉(zhuǎn)換為布爾值時(shí),無(wú)法將其轉(zhuǎn)換回來(lái)。下面是一個(gè)例子。
let status = false;
let str = status.toString(); // "false"
let back = Boolean(str); // true
首先,聲明status變量并使用false值對(duì)其進(jìn)行初始化。然后使用toString()方法將變量的值轉(zhuǎn)換為字符串。
最后,使用Boolean()函數(shù)將字符串轉(zhuǎn)換回布爾值。Boolean函數(shù)將字符串"false"轉(zhuǎn)換為布爾值,返回的結(jié)果是true。
這是因?yàn)?code>"false"它是一個(gè)非空字符串。當(dāng)傳遞一個(gè)空字符串 '' 給Boolean()函數(shù)時(shí),其返回的結(jié)果false。
比較字符串
要比較兩個(gè)字符串,請(qǐng)使用比較運(yùn)算符,例如>、>=、<、<=和==運(yùn)算符。
比較運(yùn)算符將會(huì)根據(jù)字符在字典的出現(xiàn)順序進(jìn)行比較。返回的字符順序可能會(huì)與字典順序不一樣。
let result = 'a' < 'b';
console.log(result); // true
let result = 'a' < 'B';
console.log(result); // false
結(jié)論
JavaScript字符串是原始值是不可變的。字符串由單引號(hào)'、雙引號(hào) "或反引號(hào)```包裹。length屬性返回字符串的長(zhǎng)度。使用比較運(yùn)算符 `>、>=、<、<=、== 來(lái)比較字符串。
-
字符串
+關(guān)注
關(guān)注
1文章
596瀏覽量
23209 -
javascript
+關(guān)注
關(guān)注
0文章
526瀏覽量
56508 -
運(yùn)算符
+關(guān)注
關(guān)注
0文章
173瀏覽量
12149
發(fā)布評(píng)論請(qǐng)先 登錄
字符串的表示
干貨:教你如何使用JavaScript字符串中的pad方法
什么是復(fù)制字符串?Python如何復(fù)制字符串
strtok拆分字符串
一文詳解JavaScript字符串
評(píng)論