00:23
<Mathieu Hofman>
Can anyone explain to me what in the spec causes an error to be thrown in strict mode for 'abc'[2] = 'd' but not for 'abc'[2] nor Object('abc')[2] = 'd' ?
00:26
<Mathieu Hofman>
String Exotic object [[DefineOwnProperty]] (https://tc39.es/ecma262/#sec-string-exotic-objects-defineownproperty-p-desc) doesn't seem to check if the this value is a primitive string or object wrapper
00:58
<Mathieu Hofman>
To answer my own question, in strict mode it never get there, and OrdinarySetWithOwnDescriptor (https://tc39.es/ecma262/#sec-ordinarysetwithowndescriptor) Step 2.b. checks if the receiver is an object or not