一文详解JavaScript字符串

描述

JavaScript字符串是原始值。此外,字符串是不可变的。这意味着如果你修改一个字符串,你总是会得到一个新的字符串。原始字符串不会被改变。

要创建文字字符串,您可以使用单引号 '或双引号 "。例如代码let greeting = "Hello";

Javascript在ES6引入了模板字面量,允许您使用反引号```定义字符串。例如代码let name = John';

模板字面量允许您在字符串在不转义的情况下使用单引号和双引号,例如代码let mesage = "I'm good". She said";

此外,您可以将变量和表达式放在模板字面量。JavaScript将会使用变量的值替填充变量的位置。这称为字符串插值。

在此示例中,JavaScript将name变量的位置插入变量的值。

let name = 'John'; 
let message = `Hi, I'm ${name}.`;
console.log(message);
Hi, I'm John.

转义特殊字符

要转义特殊字符,请使用反斜杠\\字符。例如:windows换行'\\r\\n'。Unix/Linux换行符'\\n'。tab制表符'\\t'。反斜杠'\\\\',这里的第一个\\ 用于转义第二个\\

代码let str = 'I\\'m a string!';使用反斜杠字符转义字符串中的单引号字符。

获取字符串的长度

JavaScript具有String对象,它是原始类型string的封装对象。因此,您可以从字符串访问String对象的所有属性和方法。

要获取字符串的长度可以访问String对象的length属性,它会返回字符串的长度。

let str = "Good Morning!"; 
console.log(str.length);  // 13

访问字符

要访问字符串中的字符,您可以使用数组的表示法,其索引从零开始。

字符串的第一个字符的索引是0,字符串的最后一个字符可以通过字符串的长度减1来表示索引length - 1

代码let str = "Hello"; console.log(str[0]);返回字符串的第一个字符。console.log(str[str.length -1]); 返回字符串的最后一个字符。

let str = "Hello"; 
console.log(str[0]);
console.log(str[str.length -1]);

+运算符连接字符串

要连接两个或多个字符串,请使用+运算符。如果你想接连的连接一个字符串,你可以使用+=操作符。

let name = 'John'; 
let str = 'Hello ' + name;
let str += 'Hello ';
console.log(str);

将值转换为字符串

要将非字符串值转换为字符串,第一种是创建String对象,并将非字符串值作为第一个参数传递给String对象,例如代码String(n)

第二种是使用加号运算符+将非字符串的变量与字符串变量相加,将会得到一个新的字符串,例如代码let str = 'Hello ' + 123;

第三种调用所有原始类型都有的toString()方法,注意这里说所有类型不包括undefinednull

将字符串转换为布尔值时,无法将其转换回来。下面是一个例子。

let status = false; 
let str = status.toString(); // "false"
let back = Boolean(str); // true

首先,声明status变量并使用false值对其进行初始化。然后使用toString()方法将变量的值转换为字符串。

最后,使用Boolean()函数将字符串转换回布尔值。Boolean函数将字符串"false"转换为布尔值,返回的结果是true

这是因为"false"它是一个非空字符串。当传递一个空字符串 '' Boolean()函数时,其返回的结果false

比较字符串

要比较两个字符串,请使用比较运算符,例如>>=<<===运算符。

比较运算符将会根据字符在字典的出现顺序进行比较。返回的字符顺序可能会与字典顺序不一样。

let result = 'a' < 'b'; 
console.log(result); // true
let result = 'a' < 'B'; 
console.log(result); // false

结论

JavaScript字符串是原始值是不可变的。字符串由单引号'、双引号 "或反引号```包裹。length属性返回字符串的长度。使用比较运算符 `>、>=、<、<=、== 来比较字符串。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分