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文章
590瀏覽量
22287 -
javascript
+關(guān)注
關(guān)注
0文章
525瀏覽量
54821 -
運(yùn)算符
+關(guān)注
關(guān)注
0文章
173瀏覽量
11484
發(fā)布評(píng)論請(qǐng)先 登錄
字符串的表示

干貨:教你如何使用JavaScript字符串中的pad方法

什么是復(fù)制字符串?Python如何復(fù)制字符串
strtok拆分字符串

評(píng)論