ES6字符串

ES6字符串

  • includes():返回布尔值,判断是否找到参数字符串。
  • startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
  • endWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
  • indexOf和lastIndexOf可以知道子串的位置,可以传入正则表达式,上面三个不可以。

    1
    2
    3
    4
    5
    let string = "apple,banana,orange"
    string.includes("banana")//true
    string.startWith("apple")//true
    string.endWith("apple")//false
    stirng.startWith("banana",6)//true
  • padStart():返回新的字符串,表示用参数字符串从头部(左侧)补全原字符串

  • padEnd():返回新的字符串,表示用参数字符串从尾部(右侧)补全原字符串

    以上两个方法接受两个参数,第一个参数是指定生成的字符串的最小长度,第二个参数是用来补全的字符串。如果没有指定第二个参数,默认用空格填充。

    1
    2
    3
    console.log("h".padStart(5,"o"))//"ooooh"
    console.log("h".padEnd(5,"o"))//"hoooo"
    console.log("h".padStart(5))//" h"
  • repeat():返回新的字符串,表示将字符串重复指定次数返回。

    1
    console.log("Hello,".repeat(2))//"Hello,Hello,"

如果参数是小数,向下取整;

1
console.log("Hello,".reapt(3.2))//"Hello,Hello,Hello,"

如果参数是0到-1之间的小数,会进行取整运算,0到-1之间的小数取整得到-0,等于repeat零次。

1
console.log("Hello,".repeat(-0.5))//""

如果参数是NaN,等同于零次;

1
console.log("Hello,".repeat(NaN))//""

如果参数是负数或者Infinity,会报错;

1
2
3
4
console.log("Hello,".repeat(-1))
//RangeError: Invalid count value
console.log("Hello,".repeat(Infinity))
//RangeError: Invalid count value

如果传入的参数是字符串,则会将字符串转换为数字

1
2
console.log("Hello,".repeat("hh"))//""
console.log("Hello,".repeat("2"))//"Hello,Hello,"