ES 6基礎総括(文字列と部分正則)

3410 ワード

文字列の拡張
1.文字のユニック表記法
  • にこの表現法があると、JavaScriptは6つの方法で1つの文字を表すことができます.
  • 		'\z' === 'z'  // true
    		'\172' === 'z' // true
    		'\x7A' === 'z' // true
    		'\u007A' === 'z' // true
    		'\u{7A}' === 'z' // true
    
    2.string.form CodePointAt()
    ES6    String.fromCodePoint  ,      0xFFFF   ,   String.fromCharCode     。    ,   codePointAt    。
    
    3.文字列のエルゴーバーインターフェース
    1. ES6             ,         `for...of`    
    2.         ,        for   ,       `0xFFFF`   
    
    4.normalize()
    1. ES6         normalize()  ,                    ,    Unicode    。
    
    5.includes()、starts With()、ends With()
    1.                           。(`indexOf`)
    2.      `boolean`  ,             
    3.        ,                (    endWidth()      n       )。
    
    6.repeat()String.repeat(Number)
    1.           ,         。
    2.       ,         。
    3. NaN       0
    
    7.padStart()padEnd()ES 7 String.padStart(Number, String2)
    1.    String2      String     Number  ,padStart       。
    2.    `String2.length > String.length`    String,     。
    3.    `String2.length + String.length > Number`    String2    。
    4.         ,       。
    5.              。
    
    		12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
    		'09-12'.padStart(10, 'YYYY-MM-DD') // "YYYY-09-12"
    
    8.match All()
     matchAll                      
    
    9.テンプレート文字列
    				`string  ${} string`
    
  • {}には、関数を格納して実行することができる.
  • は、使用するスペース
  • を保持します.
    10.テンプレートコンパイル(やや複雑)
    1.              
    2.              ,             。  
    	```
    	alert`123`  ==   alert(123);
    	```
    
    3. “    ”       ,     HTML    ,          。
    4.	          ,       (     )。
    
    11.String.raw()
    1.          。
    ```
    	String.raw`Hi\
    ` // "Hi\\\
    " ```
    正規の拡張
    1.RegExpコンストラクタ
  • ES 5の小さな問題を修復しました.
    	new RegExp(/abc/ig, 'i').flags
    	// "i"
    	//      ,           ig,        i  。
    
  • 2.文字列の正則方法
             :	match()   、 replace() 、 search()  、 split()
    ES6         `RegExp`    
    
    3.u修饰符
  • ES 6は、正規表現に対してu修飾子を追加し、「Unicodeモード」という意味で、「uFFFF」より大きいUnicode文字を正しく処理するために使用されます.つまり、4バイトのUTF-16コードを正しく処理します.
  • 正規例オブジェクトは、u修饰符が設定されているかどうかを示すunicode属性を追加する.
  • 4.y修饰符(粘着修饰符)sticky
  • は約/g修繕子に等しく、/gは後に続くものと区別され、/yは残りの第一項から一致しなければならず、残りの第一項が一致しないとnullとなる.
  • 単にy修飾子対match方法は、最初のマッチのみを返すことができます.g修飾子と併用しなければ、すべてのマッチを返すことができません.
  • 	'a1a2a3'.match(/a\d/y) // ["a1"]
    	'a1a2a3'.match(/a\d/gy) // ["a1", "a2", "a3"]
    
  • y修饰子の1つのアプリケーションは、文字列からtoken(语元)を抽出し、y修饰子はマッチングの間に抜けがない文字を確保している.
  • はy修飾子と一致し、ES 6の正規例オブジェクトはsticky属性が多くなり、y修飾子が設定されているかどうかを示す.
  • 	var r = /hello\d/y;
    	r.sticky // true
    
    ES 6は正規表現でRegExp.prototype.flags属性を追加し、正規表現の修飾子を返します.
    5.s修饰符(ES2018加入)
        s修飾子は、任意の1文字にマッチすることができます.
    	/foo.bar/s.test('foo
    bar') // true
        これはドットAllモードと呼ばれ、ドット(dot)はすべての文字を表します.したがって、正規表現は、dotAll属性を導入し、ブール値を返します.この正規表現がdotAllモードにあるかどうかを示します.   /s修饰子と複数行の修饰子/mは冲突しません.両方を使っています.すべての文字にマッチします.^は各行の行頭と行末にマッチします.