ES6+中的字符串

在 ES6 中,Iterator 也被添加给了字符串,这样代表字符串可以使用 for of 循环了。

for (let code of 'foo') {
    console.log(code);
}
// "f"
// "o"
// "o"

字符串查找类

接下来介绍一些可以通过 ES5 PolyFill的方法,但是现在 ES6 原生实现了

|Method|Param|Return|Description|
|---|---|---|
|includes()|需要验证是否被包含的字符串|Boolean|表示是否调用此方法的字符串是否包含参数中的字符串|
|startsWith()|需要被验证的字符串|Boolean|表示调用此方法的字符串的开头部分是否就是参数|
|endsWith()|需要验证的字符串|Boolean|与 startsWith 类似,不同点此方法为结尾|

下面看一下例子:

let name = 'hello,this is Hao!';
name.startsWith('hello');
// true
name.endsWith('!');
// true
name.includes('this');
// true

这三个方法很实用,也比较简单,他们同样都接受第二个参数,表示从某个索引开始

'11112222'.startsWith('2',4)
true

字符串重复

|Method|Param|Return|Description|
|---|---|---|
|repeat()|需要被重复的次数|重复后的新字符串|将调用此方法的字符串重复n次|

使用这个方法需要注意,如果使用小数,会先被取整,2.9(2)

最重要的,模板字符串

模板字符串,指的是增强版的字符串,使用 ` 来进行标识,它包含普通字符串的使用方法,同时还支持嵌入变量到字符串中,多行字符串。
所谓多行字符串,就是说所有空格和缩进都会被保存,嵌入变量则指使用 ${x} 这样的方式来拼接字符串和变量,下面看例子:

let name = "hao
big small
";
console.log(name);
//会保持缩进和空格
"hao
big small
"

let obj = {a: 'xiang'};
let a = `hao${obj.a}`;
console.log(a);
// haoxiang

模板字符串本质上就是在 ${x} 内部执行 JS 代码,所以如果是一个函数,也会被执行

function fn() {
  return "Hello World";
}

`foo ${fn()} bar`
// foo Hello World bar

基本的语法就写到这了。

你可能感兴趣的:(ES6+中的字符串)