ECMAScript/ES6字符串

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