ES6之字符串擴展方法(經常使用)

es6這個String對象卻是擴展了很多方法,可是不少都是跟字符編碼相關,我的選了幾個感受比較經常使用的方法;javascript

 

includes 搜索字符的神器

 

還記得咱們以前如何判斷某個字符串對象是否包含特意字符的嗎?java

       var str='google';
       if(str.indexOf('o')>-1){
          console.log('yes');
       }else{
          console.log('no');
       }

 

indexOf原本只是一個獲取字符對應位置的方法,由於找到不到會返回-1這個值,就成了判斷是否包含的方法,includes則就是判斷是否包含的直接返回布爾值;es6

       let str='google';
       if(str.includes('o')){
          console.log('yes');
       }else{
          console.log('no');
       }

 這樣更符合語義化,indexOf就是負責獲取位置,includes負責判斷包含關係;瀏覽器

 

startsWith ,endsWith 輕鬆定首尾

 

startsWith用於判斷是否位於頭部,endsWith判斷是否位於尾部,能夠說這兩個方法是includes方法的擴展babel

      let str='google';
 
      console.log(str.startsWith('g'));  //true
     
      console.log(str.endsWith('e'));    //true
      

 

repeat 懶人福利

 

顧名思義,這個方法就是能夠獲取字符串重複N次後的方法;google

  let str='google';
  console.log(str.repeat(3)); //googlegooglegoogle

repeat方法接受一個數字類型的參數,能夠是正式也能夠是小數,若是是浮點型會自動調用Math.floor方法轉爲整型;編碼

    let str='google';
    console.log(str.repeat(3.5)); //googlegooglegoogle
    console.log(str.repeat(Math.floor(3.5)));//googlegooglegoogle

參數能夠爲0這樣就會返回一個空字符串,可是不能爲負數,不然會報錯;spa

     let str='google';
     console.log(str.repeat(0)); //''
     console.log(str.repeat(-3.5));//RangeError: Invalid count value

 

padStart,padEnd 缺啥補啥

 

這兩個方法實際上是ES7標準下擴展的方法,做用就是自動補全;對象

      let str='goo';
    str.padStart(5, 'le') // 'legoo' str.padStart(4, 'le') // 'lgoo' str.padEnd(5, 'le') // 'goole' str.padEnd(4, 'le') // 'gool'

這兩個方法相似都是接受兩個參數,第一個是補全的長度,第二個是要補充的內容,因爲是es7標準的方法,如今瀏覽器還不能直接運行,能夠嘗試藉助babel運行;blog

 

Babel 是一個 JavaScript 編譯器

中文網:http://babeljs.cn/

英文網:http://babeljs.io/

相關文章
相關標籤/搜索