Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数声明上的Typescript问号_Javascript_Typescript_Class_Interface - Fatal编程技术网

Javascript 函数声明上的Typescript问号

Javascript 函数声明上的Typescript问号,javascript,typescript,class,interface,Javascript,Typescript,Class,Interface,我最近在typescript中遇到了一件有趣的事情,我无法在网上找到一个直接的答案 interface IClassInterface { optionOne: boolean; optionTwo?: string; optionThree?: () => void; } 现在我了解到,这是一个简单的接口,它定义了变量、类等的类型,可以实现它,它表明optionTwo和optiontree是可选的参数/函数 但是,这个案子呢 class ClassName {

我最近在typescript中遇到了一件有趣的事情,我无法在网上找到一个直接的答案

interface IClassInterface {
    optionOne: boolean;
    optionTwo?: string;
    optionThree?: () => void;
}
现在我了解到,这是一个简单的接口,它定义了变量、类等的类型,可以实现它,它表明optionTwo和optiontree是可选的参数/函数

但是,这个案子呢

class ClassName {
    classFunctionOne() { }

    classFunctionTwo?() {
        console.log("This is function two")
    }
}

如果函数已声明,为什么typescript允许在此类内声明可选函数?如果从
classFunctionOne
中调用,它怎么可能是一个已声明且可能未定义的可选函数?这种情况下是否有任何用例?

使用可选函数定义abstract类,您可以跳过在派生类中实现它。那么,该类不应该用
abstract
一词声明吗?我相信关键字也用于方法,它们不能在同一个类中声明?据我所知,在react native中运行此脚本会启动应用程序,但在操场上尝试它表明编译时出错,问号是javascript中意外的标记。如果没有用例且无法编译,这可能是一个bug吗?您发现的bug将出现在TS的下一个版本中。这感觉像是一个意见问题。。。可选方法的使用方式与可选属性的使用方式大致相同:如果可以不定义它。您还可以制作
类Foo{bar?:string=“hey”}
。在上面的示例中,可以使
类子扩展ClassName{classFunctionTwo=undefined;}
并且它是一个有效的扩展,因为该方法在超类中是可选的。我不确定你是否想要一个可以使用此功能的所有方法的列表。这里有你想要的非观点的东西吗?