我最近在打字稿中遇到了一个有趣的事件,当时我找不到在线直接答案。
constant
现在,我知道这是一个简单的接口,它定义了可以实现它的变量,类等的类型,并且表明optionTwo和optionThree是可选的参数/函数。
但是,这种情况如何?
interface IClassInterface {
optionOne: boolean;
optionTwo?: string;
optionThree?: () => void;
}
如果声明了函数,为什么打字稿允许在此类内声明可选函数?如果从class ClassName {
classFunctionOne() { }
classFunctionTwo?() {
console.log("This is function two")
}
}
中调用它,怎么可能是一个已声明且可能未定义的可选函数?有这种情况的用例吗?