我想知道,是否有区别(实际或最佳做法明智的)之间
interface Fruit {
cost?: number;
}
字符串
和
interface Fruit {
cost: number | undefined;
}
型
如果在行为方面有实际的差异,那是什么?
如果没有,为什么人们会喜欢| undefined
或?:
(反之亦然)?
有点困惑,因为我都看过了,不确定是否真的有一个实际的原因,更喜欢一个比另一个,或者如果它只是归结为偏好的东西。
谢谢你,谢谢
我想知道,是否有区别(实际或最佳做法明智的)之间
interface Fruit {
cost?: number;
}
字符串
和
interface Fruit {
cost: number | undefined;
}
型
如果在行为方面有实际的差异,那是什么?
如果没有,为什么人们会喜欢| undefined
或?:
(反之亦然)?
有点困惑,因为我都看过了,不确定是否真的有一个实际的原因,更喜欢一个比另一个,或者如果它只是归结为偏好的东西。
谢谢你,谢谢
1条答案
按热度按时间ekqde3dh1#
一个区别是
cost: number | undefined;
* 要求 * 属性存在,并且具有类型为number
或undefined
的值。相反,cost?: number
允许属性根本不存在。编译失败:
字符串
为了让它工作,你必须做:
型
但这成功了:
型
如果有其他选择,则显式输入
undefined
可能会很繁琐,因此您可能更喜欢cost?: number
选项。