es6模板字符串和新增方法
有内儿味了¶
es6之前都是什么乱七八糟的语法,到了es6总算有丶感觉了
模板字符串¶
模板字符串(template string)是增强版的字符串,用反引号``标识.它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量
使用反引号 `` 来包裹,且不会转义换行和空格可以用来定义多行字符
模板字符串中可以使用${}花括号定义一些表达式和变量或者调用函数
let studint = {
name:'小明',
'age':15,
say(){
return 'hello'
}
}
let str = `我叫${studint.name},今年${studint.age}岁了,给大家打个招呼: ${studint.say()}`
str
includes¶
返回布尔值,表示是否找到了参数字符串
可以接受第二个参数表示从索引处开始查找
startsWith¶
返回布尔值,表示参数字符串是否在原字符串的头部(详见上)
endsWith¶
返回布尔值,表示参数字符串是否在原字符串的尾部(详见上)
repeat¶
重复字符串n次,如果是小数则取整数次,如果是负数或者Infinity报错,如果参数是字符串会首先转换成数字
let str = 'hi'
str.repeat(2) // "hihi"
str.repeat(3.9) // "hihihi"
str.repeat(0) // ""
str.repeat(0.9) // ""
str.repeat('na') // ""
str.repeat('3') // "hihihi"
padStart¶
用于头部补全,第一个参数为补全最大长度,第二个为补充字符,如果第二参数为空则默认使用空格补全
如果原字符串的长度,等于或大于最大长度,则字符串补全不生效,返回原字符串
如果用来补全的字符串与原字符串,两者的长度之和超过了最大长度,则会截去超出位数的补全字符串
let str = 'x'
str.padStart(5, 'ab') // 'ababx'
str.padStart(4, 'ab') // 'abax'
// 超出长度
str.padStart(0, 'ab') // 'x'
// 截取
str.padStart(3,'1234') // '12x'
padEnd¶
用于尾部补全
trimStart, trimEnd¶
消除头部/尾部的空格