繁体   English   中英

打字稿界面上的可选参数?

[英]Optional parameters on typescript interfaces?

正如这里解释的那样 ? 运算符可用于将函数参数标记为可选。 那是什么? 运算符对接口参数的意义? 例如,如果我们有这个打字稿界面:

    export interface Person {
    phone?: number;
    name?: string;
}

以及实现接口的类:

class Customer implements Person {
} 

Customer现在是否正确实现了Person,因为Person接口上的所有属性都是可选的?

简短的回答是肯定的, Customer正确实现Person因为接口的所有字段都是可选的,任何对象都将正确地实现接口。

这个界面的用处是:

  • 在实现者站点上,如果声明了任何可选字段,则类型必须对应(因此phone必须定义为number
  • 在接收方(例如作为函数参数),您只能访问可能属于Person字段(您应检查它们是否undefined ),但该函数例如保证它不会访问Person参数的任何其他字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM