当我检查一个字符串的长度属性时,我犯了一个错误,忘记在 length
周围加上引号。结果并没有报错,而是显示了字符串中的一个字符。
const string = 'name'
s[length]
>> "a"
我已经尝试了其他组合,通常得到的是第二个字母。那么单词“长度”被转换为布尔值,然后再转换为数值吗?还是还有别的事情发生了?
更新。这就是我所做的全部内容:
const a = [1,2,3]
>> undefined
a["length"]
>> 3
const s = 'name'
>> undefined
s[length]
>> "a"
s['length']
>> 4
length
>> 1
a[length]
>> 2
length
? - Sebastian Speitel("name")[undefined] = 'n'
会将未定义的值转换为0
。 - dloedalength == 1
这就是为什么s[length] == "a"
。@visibleman 给出了你要找的答案。 - H77