Я использую JavaScript в Chrome 'JavaScript Console' (версия: 35.0), и я не могу использовать предложение "use strict", как ожидалось.
Для следующего фрагмента кода:
var obj={x:1,y:2}
//Define new property with 'writable' flag as false.
Object.defineProperty(obj, "z", {value:3, writable:false, enumerable:false, configurable:false})
// Try to change the property 'z',
"use strict"; obj["z"]=4
Выход: 4
В соответствии с моим пониманием изменение значения свойства "не записывается" бесшумно прерывается в нестрогом режиме и бросает "TypeError" в строгом режиме, но я не вижу исключения.
console.log(obj)
Объект {x: 1, y: 2, z: 3}
Несмотря на то, что значение свойства не изменяется, но я ожидаю исключения. Пожалуйста, исправьте, если я что-то делаю неправильно?