首先,您好,我试图用TypeScript制作一个虚构的购物车进行练习。所以我做到了,现在我有一个问题在这里,代码。
class Warenkorb {
liste:string[];
add(produkt):void{
this.liste.push(produkt);
}
}
这是第一个没有底线的作品。
class Warenkorb {
liste:string|number[];
add(produkt):void{
this.liste.push(produkt);
}
}
所以这个问题。当我想要数字或字符串时,push方法用红色强调,这对练习不是问题,因为产品只应是字符串,但我也想知道为什么会这样。
不好意思我是德国/奥地利人:D
最佳答案
这两个都应该向您显示错误,因为produkt
隐式具有any
类型。list
的问题在于它是string
或number[]
。如果要允许字符串和数字都允许,则需要(string | number)[]
。
您还需要使用一个空数组初始化liste
。
所以:
class Warenkorb {
liste: (string|number)[] = [];
// −−−−−−−−^−−−−−−−−−−−−−^ ^^^^−−−−−−−−−−−−
add(produkt: string|number):void{
// −−−−−−−−−−−−^^^^^^^^^^^^^^^
this.liste.push(produkt);
}
}
关于javascript - 为什么方法push()带下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60673249/