我遇到了JavaScript表现有些令人困惑的情况。
假设我们有一个带有两个键foo和bar的对象。
a = { foo: 1, bar: 2 }
Run Code Online (Sandbox Code Playgroud)
然后,我有一个字符串数组,在这种情况下是一个'foo'
b = ['foo']
Run Code Online (Sandbox Code Playgroud)
我期望以下几点:
a[b] == undefined
a[b[0]] == 1
Run Code Online (Sandbox Code Playgroud)
但是,这是发生了什么:
a[b] == 1
a[b[0]] == 1
Run Code Online (Sandbox Code Playgroud)
为什么将JavaScript ['foo'] -> 'foo'用作键时会进行转换?
外面有人知道原因吗?
如何预防?
a = { foo: 1, bar: 2 }
Run Code Online (Sandbox Code Playgroud)
javascript ×1