ES符扩展

时间:2024-03-13 09:52:51

反撇号``模板字符

在ES6之前我们给变量赋值多行字符串时,常用的方法是加入转义字符处理换行问题.

反撇号很好的解决了这个问题

let str = `hello,
    Ecascript`;
console.log(str);

模板子有个特点定义在反撇号中的字符串,其中的空格\缩进\换行都会被保留.

在之前我们拼接想到的都是+号,在ES6中提供了占位符${}

let str = `haha`;
let message = `i like ${str}`;
consle.log(message);

得出的效果为:i like haha

let name = `js`;
let str = tag`Welcome to ${name}cource`;

这里的模板字面量标签就是tag 但是tag并不是系统自带的,而是我们自己定义声明的.

第一个参数是一个数组,数组中存放着普通的字符串

第一个参数后的参数,都是每一个占位符的解释值.

占位符会访问变量str字符串,将其值插入message中,变量message会一直保留这个结果.

标签模板:

  • 过滤 HTML 字符串,防止用户输入恶意内容。
  • 多语言的转换。

相当于函数

在ES5 中判断字符串是否包含指定字符串可以用indexof()方法判断,该方法可以返回i某个字符首次出现的位置.在ES6中新增3个方法.


includes()判断是否包含指定字符串,如果包含返回true,不包含返回false.

startWith():判断当前字符串是否以指定的字符串开头,如果包含返回true,不包含返回false.

endsWith():判断当前字符串是否以指定的子字符串结尾,如果是则返回 true,反之 false方法用于返回一个重复 n 次原字符串的新字符串,其参数 n 为整数,如果设置 n 为小数,会自动转换为整数。

重复字符串:

repeat(n) 方法用于返回一个重复 n 次原字符串的新字符串,其参数 n 为整数,如果设置 n 为小数,会自动转换为整数。

替换字符串:

在 ES5 中有一个 replace() 方法可以替换指定字符串,不过它只能替换匹配到的第一个字符串,如果想匹配整个字符串中所有的指定字符串是很麻烦的。

let str = "Happy new year";
console.log(str.includes("Happy"));
console.log(str.startsWith("Happy"));
console.log(str.endsWith("year"));

ES6 中,为我们提供了 replaceAll() 方法

使用方式如下:

string.replaceAll("代替换字符","替换后的新字符");
let str = "HELLOWHELLOWHELLO";
console.log(str.replaceAll("W","_"));

后台结果将所有的W替换成_

includes()、sartsWith()endsWith() 来代替 indexOf() 方法判断字符串是否包含指定子串。

  • repeat() 方法自定义次数重复输出指定字符串。
  • replaceAll() 方法来代替了 replace() 替换指定字符串。

相关文章