171
edits
m (→Synopsis) |
mNo edit summary |
||
| Line 1: | Line 1: | ||
== Synopsis == | == Synopsis == | ||
| Line 8: | Line 7: | ||
* <tt>.length</tt> assignment is not observable in pure-JS interoperably | * <tt>.length</tt> assignment is not observable in pure-JS interoperably | ||
* <tt>[index]</tt> assignment is only special for <tt>Array</tt> and inheriting <tt>Array does not imbue types with their specialness. | * <tt>[index]</tt> assignment is only special for <tt>Array</tt> and inheriting <tt>Array</tt> does not imbue types with their specialness. | ||
* [name] assignment can have name collisions between names in an object's prototype chain and those that it ought to contain. Assigning arbitrary strings in this domain can potentially mask builtins. | * <tt>[name]</tt> assignment can have name collisions between names in an object's prototype chain and those that it ought to contain. Assigning arbitrary strings in this domain can potentially mask builtins. | ||
* The <tt>in</tt> operator cannot be safely used on <tt>Object</tt> instances to check for containment or iteration. You have to use the <tt>Object.prototype.hasOwnProperty.call</tt> method instead. | * The <tt>in</tt> operator cannot be safely used on <tt>Object</tt> instances to check for containment or iteration. You have to use the <tt>Object.prototype.hasOwnProperty.call</tt> method instead. | ||
* Proxies for native objects cannot observe indexing or length assignment. | * Proxies for native objects cannot observe indexing or length assignment. | ||
edits