2010-10-15 84 views
2

在Chrome(+ Opera)中的任何對象上獲取或設置屬性「default」時,出現錯誤「SyntaxError:意外標記默認值」 。Chrome中帶有({})的意外標記默認值

({}).default 

有人可以解釋爲什麼會發生這種情況嗎?

更新:大家,PLZ,becareful它沒有意義的FF,所以在測試時,你可以錯過這個錯誤。

回答

8

default是JavaScript中的關鍵字(用於switch語句)。

使用在點屬性訪問保留字被允許ECMAScript中第五版(具體:針對點屬性訪問的語法是MemberExpression . IdentifierName [12.2.1節]和IdentifierName,不像Identifier,可以是ReservedWord [7.6節] ),但不在ECMAScript第三版(其中它是MemberExpression . Identifier)。第三版目前是所有瀏覽器支持的基準。

爲了安全使用[]訪問屬性:

({})['default']= ...; 

或避免使用關鍵字作爲屬性名稱。