TypeError:无法在字符串'BAR'上创建属性'FOO'

Off*_*rmo 6 javascript runtime-error

我们的应用程序中的错误(现在已修复)代码触发了此错误:

TypeError: Cannot create property 'FOO' on string 'BAR'
Run Code Online (Sandbox Code Playgroud)

但Javascript完全允许在字符串变量上设置自由属性.我刚在Chrome控制台中尝试过:

'BAR'.FOO = 'hello'
'BAR'['FOO'] = 'hello'
Run Code Online (Sandbox Code Playgroud)

而且效果很好.

那么JS解释器在哪个上下文中触发了这个错误?

原始代码用Typescript编写,然后用Babel编译.这是运行时错误.我认为这与打字稿无关,因为其他人报告类似的运行时错误,例如.在这里这里

mea*_*gar 13

那么JS解释器在哪个上下文中触发了这个错误?

严格的模式.

'use strict';
'BAR'.FOO = 'test';
Run Code Online (Sandbox Code Playgroud)

  • Chrome控制台默认情况下不是严格模式...谢谢! (3认同)