ES6(字符串的扩展与新增方法)

字符串的扩展与新增方法

1. 模板字符串

模板字符串解决了之前的字符串拼接

ESC下那个键:反引号(`)包裹=>替换引号

${变量名/表达式/函数}=>替换引引加加导致的代码冗余

//ES5(引引加加)
$('#result').append(
  'There are ' + basket.count + ' ' +
  'items in your basket, ' +
  '' + basket.onSale +
  ' are on sale!'
);
//ES6中模板字符串
$('#result').append(`
  There are ${basket.count} items
   in your basket, ${basket.onSale}
  are on sale!
`);

   如果在模板字符串中需要使用反引号,则前面要用反斜杠转义

let greeting = `\`Yo\` World!`;

2.新增方法

1. includes(), startsWith(), endsWith() 

 判断一个字符串是否包含另一个字符串的方法

  • includes():返回布尔值,标识是否找到了参数字符串(用布尔值替换正负1)
  • startsWith:返回布尔值,标识参数字符串是否在原字符串的头部
  • endtWith:返回布尔值,标识参数字符串是否在原字符串的尾部
let s = 'Hello world!';

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

2. 实例方法:repeat() 

repeat方法返回一个新字符串,表示将原字符串重复n

如果是小数值会被取整

如果repeat的参数是负数或者Infinity,会报错。

如果参数是字符串首先先转为数值

'x'.repeat(3) // "xxx"
'hello'.repeat(2) // "hellohello"
'na'.repeat(0) // ""
'na'.repeat(2.9) // "nana"
'na'.repeat(Infinity)
// RangeError
'na'.repeat(-1)
// RangeError
'na'.repeat('na') // ""
'na'.repeat('3') // "nanana"

 

几个参数视为0的情况:

  • 参数:-1到0之间
  • 参数NaN
'na'.repeat(-0.9) // ""
'na'.repeat(NaN) // ""

 3.实例方法:trimStart(),trimEnd()

类似于trim():消除字符串两边空格,这里出现了单边消除

const s = '  abc  ';

s.trim() // "abc"
s.trimStart() // "abc  "
s.trimEnd() // "  abc"

 4.实例方法:replaceAll()

替换所有指定字符:返回一个新字符串,不会改变原字符串

'aabbcc'.replaceAll('b', '_')
// 'aa__cc'

 

你可能感兴趣的:(es6,前端,ecmascript)