附錄C:ECMAScript 的嚴(yán)格模式

2018-06-16 15:51 更新

ECMAScript 的嚴(yán)格模式

 嚴(yán)格模式下的限制說明

  • 在嚴(yán)格模式下的代碼中,"implements", "interface", "let", "package", "private", "protected", "public", "static", 和 "yield" 都被作為未來可能會(huì)使用到的保留字(7.6.12)。
  • 符合規(guī)范的實(shí)現(xiàn)中,當(dāng)處理嚴(yán)格模式下的代碼時(shí),不應(yīng)該像 B.1.1 中描述地那樣將 OctalIntegerLiteral 擴(kuò)展到 NumericLiteral(7.8.3)的語法中。
  • 符合規(guī)范的實(shí)現(xiàn)中,當(dāng)處理嚴(yán)格模式下的代碼時(shí),不應(yīng)該像 B.1.2 中描述地那樣將 OctalEscapeSequence 擴(kuò)展到 EscapeSequence 的語法中。
  • 無法注冊(cè)一個(gè)未定義的標(biāo)識(shí)符或者其他無法解析的引用到全局對(duì)象下。當(dāng)在嚴(yán)格模式下進(jìn)行一個(gè)簡(jiǎn)單注冊(cè)時(shí),它左部不能解析為一個(gè)無法解析的引用。如果是無法解析的,那么就會(huì)拋出一個(gè) ReferenceError 異常。左部也不能是一個(gè)數(shù)據(jù)屬性的引用,
  • eval 或者 arguments 不能出現(xiàn)在一個(gè)注冊(cè)操作(11.13)或者一個(gè) Postfix 表達(dá)式的左部,也不能作為 Prefix Increment(11.4.4)或者 prefix decrement 操作(11.4.5)上面的一元表達(dá)式操作。
  • 嚴(yán)格模式下的 arguments 對(duì)象定義了不可配置的存取屬性,包括“caller”和“callee”,如果訪問這兩個(gè)對(duì)象則會(huì)拋出一個(gè)類型錯(cuò)誤。
  • 嚴(yán)格模式下的 Arguments 對(duì)象不會(huì)動(dòng)態(tài)共享它們的數(shù)組索引值,這些索引值包含了函數(shù)綁定時(shí)對(duì)應(yīng)格式的參數(shù)。
  • 嚴(yán)格模式下的函數(shù)中,如果一個(gè)參數(shù)對(duì)象綁定了作用域內(nèi)的 arguments 標(biāo)識(shí)符來獲取參數(shù)對(duì)象,那么這個(gè)參數(shù)對(duì)象是不可變的,并在之后也不能進(jìn)行注冊(cè)操作。
  • 在嚴(yán)格模式下,如果代碼包含了一個(gè)含有一個(gè)以上任意數(shù)據(jù)屬性的定義,那么這就是一個(gè)語法錯(cuò)誤。
  • 在嚴(yán)格模式下,如果 eval 或者 argument 出現(xiàn)在屬性參數(shù)列表中,那么這就是一個(gè)語法錯(cuò)誤


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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)