ES6 - 新字符串方法


ES6 新字符串方法

以下是包含其描述的方法列表。

序号 方法 & 描述
1 String.prototype.startsWith(searchString, position = 0)

如果接收器以searchString开头,则返回true;该位置可让您指定要检查的字符串的起始位置。

2 String.prototype.endsWith(searchString, endPosition = searchString.length)

如果接收器以searchString开头,则返回true;该位置可让您指定要检查的字符串的起始位置。

3 String.prototype.includes(searchString, position = 0)

如果接收者包含searchString,则返回true;位置可让您指定要搜索的字符串的起始位置。

4 String.prototype.repeat(count)

返回接收器,连接的计数时间。

模板文字

模板文字是允许嵌入表达式的字符串文字。模板字符使用(``)而不是单引号或双引号。模板字符串因此可以写成

var greeting = `Hello World!`;

字符串插值和模板文字

正如演示的那样,模板字符串可以使用占位符来使用$ {}语法进行字符串替换。

示例1

var name = "Brendan";
console.log('Hello, ${name}!');

在成功执行上述代码时,会显示以下输出。

Hello, Brendan!

示例2:模板文字和表达式

var a = 10;
var b = 10;
console.log(`The sum of ${a} and ${b} is  ${a+b} `);

在成功执行上述代码时,会显示以下输出。

The sum of 10 and 10 is 20

示例3:模板文字和函数表达式

function fn() { return "Hello World"; }
console.log(`Message: ${fn()} !!`);

在成功执行上述代码时,会显示以下输出。

Message: Hello World !!

多行字符串和模板文字

模板字符串可以包含多行。

示例

var multiLine = `
   This is
   a string
   with multiple
   lines`;
console.log(multiLine)

在成功执行上述代码时,会显示以下输出。

This is
a string
with multiple
line

String.raw()

ES6包含用于原始字符串的标记函数String.raw,其中反斜杠没有特殊含义。String.raw使我们能够像在正则表达式中那样编写反斜杠。考虑下面的例子。

var text =`Hello \n World`
console.log(text)  

var raw_text = String.raw`Hello \n World `
console.log(raw_text)

在成功执行上述代码时,会显示以下输出。

Hello
World
Hello \n World

String.fromCodePoint()

静态String.fromCodePoint()方法返回一个使用指定序列的unicode代码点创建的字符串。如果传递了无效的代码点,该函数将引发RangeError。

console.log(String.fromCodePoint(42))        
console.log(String.fromCodePoint(65, 90))

在成功执行上述代码时,会显示以下输出。

*
AZ