随着 Typescript 3.7 的发布,现在支持Nullish Coalescing。但是,我似乎错误地使用了它.. 我有以下结构:
type myType = { ["myKeys"]?: Array<string> }
let data: myType;
data = {};
data["myKeys"] = ["index0"];
console.log(data?.["myKeys"]?.indexOf("index0")) // 0
if (data?.["myKeys"]?.indexOf("index0") ?? -1 === -1) { // returns false
} else {
console.log("returns false");
}
data["myKeys"].push("index1")
console.log(data?.["myKeys"]?.indexOf("index1")) // 1
if (data?.["myKeys"]?.indexOf("index1") ?? -1 === -1) { // returns true - why?
console.log("Why is it true");
}
为什么??当索引为index1is1而索引为index0is时运算符的行为不同0。两者都应该返回 false,因为它是!== -1
大话西游666
慕标5832272
相关分类