ES6--字符串的扩展

我是看了http://wiki.jikexueyuan.com/project/es6/string.html写的笔记,中间加了一些自己的理解。

gangkaishi

一开始介绍了一些编码之类的东西,看的云里雾里的,也不是很懂,就不写在这里了,有兴趣的朋友可以点上面的连接去看看。

写一些我个人工作中会用到的吧。

string对象的方法

回顾下:
charAt(index):现实指定位置的字符
concat():连接字符串
indexOf():检索字符串(注意大小写,没找到返回-1)
lastIndexOf():从后面检索
match() 找到匹配表达式的字符串
search()检索与正则表达式想匹配的值
replace(要不替换的,用来替换的)
slice(start,[end]) 提取字符串的片段,返回新字符串
substr(start,[length]) 截取字符串
substring(start,[end])截取字符串 没有负值
split(以什么分割,[分割后数组最大长度]) 将字符串分割为数组
想不起具体用法的戳:http://www.w3school.com.cn/jsref/jsref_obj_string.asp

言归正传
includes():返回布尔值,表示是否找到了参数字符串
startsWith():布尔,参数字符串是否在源字符串的头部
endswith():是否在尾部
都支持第二个参数,表示开始搜索的位置。

var s = "Hello world!";

s.startsWith("Hello") // true
s.endsWith("!") // true
s.includes("o") // true

repeat()
返回一个新字符串,表示原字符串重复了N次

'x'.repeat(3) //'xxx'

正则表达式的y修饰符

Regexp.escape()

模板字符串

//原
$("#result").append(
  "There are <b>" + basket.count + "</b> " +
  "items in your basket, " +
  "<em>" + basket.onSale +
  "</em> are on sale!"
);
//es6
$("#result").append(`
  There are <b>${basket.count}</b> items
   in your basket, <em>${basket.onSale}</em>
  are on sale!
`);

用反引号” ` “标识。可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量。
模板字符串表示多行字符串,所有的空格和缩进都会被保留在输出之中
模板字符串中嵌入变量,需要将变量名写在${}之中
大括号内部可以放入任意的 JavaScript 表达式,可以进行运算,以及引用对象属性

console.log(`${x} + ${y} = ${x+y}`)

模板字符串之中还能调用函数

console.log(`foo ${fn()} bar`);

总之模板字符串,给我们一种很随意的,想编写不同代码一样的感觉。

标签模板
是跟着模板字符串,相关联的一种方法,暂时不做讨论,看连接吧。哈哈(尴尬又不失礼貌的微笑)

String.raw()
String.raw 方法,往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,对应于替换变量后的模板字符串。

String.raw`Hi\n${2+3}!`;
// "Hi\\n5!"

String.raw`Hi\u000A!`;
// 'Hi\\u000A!'

也不多解释了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值