ES 6基礎総括(文字列と部分正則)
3410 ワード
文字列の拡張
1.文字のユニック表記法にこの表現法があると、JavaScriptは6つの方法で1つの文字を表すことができます. {}には、関数を格納して実行することができる. は、使用するスペース を保持します.
10.テンプレートコンパイル(やや複雑)
1.RegExpコンストラクタ ES 5の小さな問題を修復しました. 2.文字列の正則方法 ES 6は、正規表現に対してu修飾子を追加し、「Unicodeモード」という意味で、「uFFFF」より大きいUnicode文字を正しく処理するために使用されます.つまり、4バイトのUTF-16コードを正しく処理します. 正規例オブジェクトは、u修饰符が設定されているかどうかを示すunicode属性を追加する. 4.y修饰符(粘着修饰符)stickyは約 単にy修飾子対match方法は、最初のマッチのみを返すことができます.g修飾子と併用しなければ、すべてのマッチを返すことができません. y修饰子の1つのアプリケーションは、文字列からtoken(语元)を抽出し、y修饰子はマッチングの間に抜けがない文字を確保している. はy修飾子と一致し、ES 6の正規例オブジェクトはsticky属性が多くなり、y修飾子が設定されているかどうかを示す.
5.s修饰符(ES2018加入)
s修飾子は、任意の1文字にマッチすることができます.
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コンストラクタ
new RegExp(/abc/ig, 'i').flags
// "i"
// , ig, i 。
: match() 、 replace() 、 search() 、 split()
ES6 `RegExp`
3.u修饰符/g
修繕子に等しく、/g
は後に続くものと区別され、/y
は残りの第一項から一致しなければならず、残りの第一項が一致しないとnullとなる. 'a1a2a3'.match(/a\d/y) // ["a1"]
'a1a2a3'.match(/a\d/gy) // ["a1", "a2", "a3"]
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は冲突しません.両方を使っています.すべての文字にマッチします.^は各行の行頭と行末にマッチします.