es6学习过程(三)

来源:互联网 发布:扫描ssh端口 弱口令 编辑:程序博客网 时间:2024/06/06 18:35

字符串的扩展

1.模板字符串
模板字符串是字符串的一个新特性,以前我们要实现字符串的拼接的时候是这样的:

let name = '小白';let str = 'my name is ' + name;

而es6的模板字符串出来以后我们可以写成这样:

let name = '小白';let str = `my name is ${name}`; //这个符号是tab上面,数字1左边的键


那么,这样写有什么好处呢?好处就是当很多个变量拼接在一起的时候,避免出现很多个加号和冒号。

需要注意几个重点:
1.可以定义多个字符串

let todo = `今年星期天,我要去游泳!`

在这里直接换行即可,但是需要注意的是,所有的空格和缩进都会被保留在输入中。代码换行了,实际展示的时候也会换行。

2.${}中可以放任意的js表达式,
${}可以是运算表达式和对象的属性

let a = 10;let b = 20;let obj = {    a = 15;    b = 20;}let sum = `结果等于${a+b}`;let sum = `结果等于${obj.a+obj.b}`;

${}中也可以是函数的调用

function sum(){    let a = 10;    let b = 20;    return a + b;}let result = `相加的结果为${sum()}`;


标签模板

    let name = 'xiaobao';    tagFn`my name is${name}!`;    function tagFn(arr,v1) {        console.log(arr); //['my name is','!']        console.log(v1); //xiaobao    }

第一个参数arr是除了${}以外的其他字符,按照顺序组成了数组的内容。所以arr的值为[‘my name is’,’!’]。 标签模板是es6的新语法。它常用来过滤用户的非法输入和多语言转换。

repeat函数
repeat函数:就是将目标字符串重复n次,返回一个新的字符串,并且不会对目标字符串造成影响。

let str = '你猜!';let str1 = str.repeat(3); //你猜!你猜!你猜!


includes函数
includes函数:判断字符串是否含有指定字符串。返回true表示含有,返回false表示未含有;第二个参数选填,表示开始搜索的位置。

let name = '小白';console.log(name.includes('小')); //true

以前一般类似的查找我们都是使用indexof的方法,若是找的到的话就返回所在的位置,若是找不到话就会返回-1。 其实很多时候我们使用起来并不是很方便,有时候还要多加一层判断才行。但是我们现在有了includes它的返回值更加的直观,况且有的时候我们并不关心字符串出现的位置。

startsWith函数
startsWith函数:判断字符串是否出现在目标字符的开始位置。第二个参数表示开始搜索的位置。不在的话返回false

let name = '小白';console.log(name.startsWith('小'));  //true


endsWith函数
endsWith函数:判断子字符串是否出现在目标字符串的尾部位置,第二个参数是选填,表示针对前n个字符。

let name = '小白';console.log(name.endsWith('白'));  //true


codePointAt函数

let str = '吉';console.log(str.codePointAt());   //134071

String.fromCodePoint函数

console.log(String.fromCodePoint(137071)); //吉

String.raw函数
String.raw函数:返回字符串最原始的面貌。

//没有处理过的log(`name\nlichao`);//name//lichao//处理过的let n = String.raw`name\nlichao`;log(n); //name\nlichao