標(biāo)識(shí)符名和標(biāo)識(shí)符

2018-06-16 14:27 更新

標(biāo)識(shí)符名是 tokens,Unicode 標(biāo)準(zhǔn)第 5 章的“標(biāo)識(shí)符”節(jié)給出的文法加入了一些小的修改來解釋它。Identifier 是一個(gè) IdentifierName 但不是一個(gè) ReservedWord( 見 7.6.1)。Unicode 標(biāo)識(shí)符文法基于 Unicode 標(biāo)準(zhǔn)指出的 normative 和 informative 字符分類。所有符合 ECMAScript 的實(shí)現(xiàn)必須能夠正確處理 Unicode 標(biāo)準(zhǔn) 3.0 版本中指定的分類里的字符的分類。


本標(biāo)準(zhǔn)增加了個(gè)別字符:在 IdentifierName 的任何位置允許出現(xiàn)美元符($)和下劃線(_)。


IdentifierName 還允許出現(xiàn) Unicode 轉(zhuǎn)義序列,它們被 UnicodeEscapeSequence 的 CV 計(jì)算成單個(gè)字符貢獻(xiàn)給 IdentifierName(見 7.8.4)。UnicodeEscapeSequence 前面的 \ 不給IdentifierName 貢獻(xiàn)字符。UnicodeEscapeSequence 不能提供單個(gè)字符給將要成為非法字符的 IdentifierName。換句話說,如果一個(gè) \ UnicodeEscapeSequence 序列被UnicodeEscapeSequence 的 CV 替換,結(jié)果必須仍是有效的包含與原 IdentifierName 精確相同字符序列的 IdentifierName。本規(guī)范說明的所有標(biāo)識(shí)符是根據(jù)它的實(shí)際字符,不管轉(zhuǎn)義序列貢獻(xiàn)特定字符與否。


根據(jù) Unicode 標(biāo)準(zhǔn)兩個(gè)規(guī)范的 IdentifierName 相等,是說除非他們的代碼單元序列準(zhǔn)確相等,否則不同(換句話說,符合 ECMAScript 的實(shí)現(xiàn)只需要按位比較 IdentifierName 值)。其目的是為了傳入編譯器之前就把源文本轉(zhuǎn)換為正?;问?C。


ECMAScript 實(shí)現(xiàn)可以識(shí)別后續(xù)版本 Unicode 標(biāo)準(zhǔn)定義的標(biāo)識(shí)符字符。如果考慮可移植性,程序員應(yīng)該只采用 Unicode 3.0 中定義的標(biāo)識(shí)符字符。


語法:

Identifier :: 
IdentifierName but not ReservedWord
IdentifierName :: 
IdentifierStart 
IdentifierName IdentifierPart
IdentifierStart :: 
UnicodeLetter 
$ 
_ 
\ UnicodeEscapeSequence
IdentifierPart :: 
IdentifierStart 
UnicodeCombiningMark 
UnicodeDigit 
UnicodeConnectorPunctuation
UnicodeLetter 
any character in the Unicode categories 
“Uppercase letter (Lu)”, “Lowercase letter (Ll)”, 
“Titlecase letter (Lt)”, “Modifier letter (Lm)”, 
“Other letter (Lo)”,or “Letter number (Nl)”.
UnicodeCombiningMark 
any character in the Unicode categories “Non-spacing mark (Mn)”\\\ 
or “Combining spacing mark (Mc)”
UnicodeDigit 
any character in the Unicode category “Decimal number (Nd)”
UnicodeConnectorPunctuation 
any character in the Unicode category “Connector punctuation (Pc)”
UnicodeEscapeSequence 
see 7.8.4.


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)