ECMAScript/ES6字符串
JavaScript字符串是一个代表字符序列的对象。 通常,字符串用于保存基于文本的值,例如人名或产品说明。在JavaScript中,单引号或双引号内的任何文本均视为字符串。
有两种方法可以在JavaScript中创建字符串:
- 通过使用字符串文字
- 通过使用字符串对象(使用
new
关键字)
下面来看看如何使用这两种方法在JavaScript中创建字符串。
通过使用字符串文字
可以使用双引号或单引号来创建字符串文字。 创建字符串文字的语法如下:
var stringname = "string value";
var string_name = 'string value2';
通过使用字符串对象
在这里,我们将使用new
关键字来创建字符串对象。创建字符串对象的语法如下:
var stringname = new String ("string literal");
1.ES6字符串属性
字符串的一些属性列表如下:
编号 | 属性 | 描述 |
---|---|---|
1 | constructor | 返回一个对象的构造函数。 |
2 | length | 返回字符串的长度。 |
3 | prototype | 它用于将方法和属性添加到现有对象。 |
下面让我们详细讨论上述字符串属性。
1.1.JavaScript String constructor属性
constructor
属性返回对象的构造函数。它返回函数的引用,而不是函数的名称。
语法
string.constructor
示例:
var str = new String("Hello World");
console.log("Value of str.constructor is: "+str.constructor);
执行上面示例代码,得到以下结果:
Value of str.constructor is: function String() { [native code] }
1.2.JavaScript String length属性
顾名思义,此属性返回字符数或字符串的长度。
语法
string.length
示例
var str = new String("Hello World");
console.log("The number of characters in the string str is: "+str.length);
执行上面示例代码,得到以下结果:
The number of characters in the string str is: 11
1.3.JavaScript String prototype属性
它可在现有的对象类型中添加新的方法和属性。 这是一个全局属性,几乎所有JavaScript对象都可以使用。
语法
object.prototype.name = value;
示例
function student(name, qualification){
this.name = name;
this.qualification = qualification;
}
student.prototype.age = 20;
var stu = new student('Daniel Grint' , 'BCA');
console.log(stu.name);
console.log(stu.qualification);
console.log(stu.age);
执行上面示例代码,得到以下结果:
Daniel Grint
BCA
20
2.ES6字符串方法
ES6中有四个可用的字符串函数,如下列表:
序号 | 方法 | 说明 | JavaScript版本 |
---|---|---|---|
1. | startsWith() | 确定字符串是否以指定字符串的字符开头。 | ECMAScript 6 |
2. | EndsWith() | 确定字符串是否以指定字符串的字符结尾。 | ECMAScript 6 |
3. | include() | 如果指定的参数在字符串中,则返回true 。 |
ECMAScript 6 |
4. | repeat() | 它根据指定的count 参数返回一个重复的新字符串。 |
ECMAScript 6 |
下面我们来详细地学习上述字符串方法。
2.1.startsWith()方法
下面是区分大小写的方法,它确定字符串是否以指定的字符串字符开头。 如果字符串以字符开头则返回true
,否则返回false
。
语法
string.startsWith(searchValue, startPosition)
此方法包括两个参数,如下所示:
searchValue
: 必需参数。 它包括要在字符串开头搜索的字符。startPosition
: 可选参数。 其默认值为0
。它指定字符串中开始搜索的位置。
示例
var str = 'Welcome to XNtutor :)';
console.log(str.startsWith('Wel',0));
console.log(str.startsWith('wel',0));
运行结果如下:
true
false
2.2.endsWith()方法
这也是区分大小写的方法,它确定字符串是否以指定字符串的字符结尾。
语法
string.endsWith(searchvalue, length)
该方法的参数定义如下:
searchValue
:必需的参数,表示要在字符串末尾搜索的字符。length
:可选参数。 它是要搜索的字符串的长度。 如果省略此参数,则该方法将搜索字符串的全长。
示例
var str = "Welcome to XNtutor.";
console.log(str.endsWith("to", 10))
console.log(str.endsWith("To", 10))
运行结果如下:
true
false
2.3.include()方法
这是区分大小写的方法,它确定字符串是否包含指定字符串的字符。 如果字符串包含字符,则返回true
,否则返回false
。
语法
string.includes(searchValue,开始)
此方法的参数如下:
searchValue
:必需参数,它是要字符串中搜索的子字符串。start
:代表在字符串中开始搜索的位置。 其默认值为0。
示例
let str = "hello world"
console.log(str.includes('world',5));
console.log(str.includes('World', 11))
运行结果如下:
true
false
2.4.repeat()方法
它用于构建一个新字符串,字符串包含指定数量的已调用此方法的字符串的副本。
语法
string.repeat(count)
函数的参数说明如下:
count
:它是必填参数,它显示重复给定字符串的次数。 此参数的范围是从0
到无穷大。
示例
var str = "hello world";
console.log(str.repeat(5));
运行结果如下:
hello worldhello worldhello worldhello worldhello world
3.JavaScript字符串方法
下面列出一些JavaScript中字符串常用的方法:
序号 | 方法 | 说明 | JavaScript版本 |
---|---|---|---|
1. | charAt() | 返回给指定索引的char 值。 |
ECMAScript1 |
2. | charCodeAt() | 返回在指定的索引处Unicode字符值。 | ECMAScript1 |
3. | concat() | 它提供两个或多个字符串的组合。 | ECMAScript1 |
4. | match() | 用于在给定的字符串中搜索指定的正则表达式,如果发生匹配,则返回该表达式。 | ECMAScript1 |
5. | toString() | 它给出一个表示特定对象的字符串。 | ECMAScript1 |
6. | indexOf() | 它给出给定字符串中存在的char 值的位置。 |
ECMAScript1 |
7. | lastIndexOf() | 通过从最后一个位置搜索字符来给出给定字符串中char 值的位置。 |
ECMAScript1 |
8. | replace() | 用指定的替换替换给定的字符串。 | ECMAScript1 |
9. | search() | 搜索特定的正则表达式,如果匹配则返回其位置/索引值。 | ECMAScript1 |
10. | valueOf() | 它提供字符串对象的原始值。 | ECMAScript1 |
11. | slice() | 用于获取给定字符串的一部分。 | ECMAScript1 |
12. | split() | 它将字符串拆分为子字符串数组,并返回新创建的数组。 | ECMAScript1 |
13. | substr() | 它根据指定的长度和起始位置获取给定字符串的一部分。 | ECMAScript1 |
14. | substring() | 它根据指定的索引获取给定字符串的一部分。 | ECMAScript1 |
15. | toLocaleLowerCase() | 它将根据给定的字符串转换为小写字母。 | ECMAScript1 |
16. | toLocaleUpperCase() | 它将根据给定的字符串转换为大写字母。 | ECMAScript1 |
17. | toLowerCase() | 它将给定的字符串简单地转换为小写字母。 | ECMAScript1 |
18. | toUpperCase() | 它将给定的字符串简单地转换为小写字母。 | ECMAScript1 |
19. | trim() | 修剪字符串左侧和右侧的空白区域。 | ECMAScript5 |