Allen Wirfs-Brock (2014-06-25T19:20:39.000Z)
domenic at domenicdenicola.com (2014-06-27T19:02:11.284Z)
I think the usual rules should apply. LiteralPropertyName is either an IdentifierName or a StringLiteral. http://people.mozilla.org/~jorendorff/es6-draft.html#sec-names-and-keywords says the escaped and non-escaped code points are equivalent within an IdentifierName. http://people.mozilla.org/~jorendorff/es6-draft.html#sec-static-semantics-sv-s-and-cv-s says the the SV of is the same for a string containing non-escaped code points and a string containing escapes for the same code points. That means that `{__proto__: something}`, `{__\u0070roto__: something}`, `{"__proto__": something}`, and `{"__\u0070__": something}` should all mean the same thing and if Annex B is being implemented that means they all do a [[SetPrototypeOf]]. I think `"use strict"` is a special care where we were trying to simulate what we would allow in a statement composed of reserved words and escapes are now allowed in keywords. http://people.mozilla.org/~jorendorff/es6-draft.html#sec