[英]Typescript ES6 arrow syntax
以下打字稿界面中的canDeactivate1和canDeactivate2有什么區別? 如何考慮這些功能?
export interface CanComponentDeactivate
{
canDeactivate1 : ()=> Observable<boolean> | Promise<boolean> | boolean;
canDeactivate2 (): Observable<boolean> | Promise<boolean> | boolean;
}
如何使用JavaScript編寫相同的函數?
第二個基本上是第一個的快捷方式(不是很多)。
表達式()=> Observable<boolean> | Promise<boolean> | boolean
()=> Observable<boolean> | Promise<boolean> | boolean
()=> Observable<boolean> | Promise<boolean> | boolean
是函數的類型聲明,該函數不要求任何參數,並且返回可觀察的,應許的或布爾值。 您可以在需要類型的任何地方使用此類聲明:
let foo: ()=> Observable<boolean> | Promise<boolean> | boolean;
foo = 1; //doesn't work, foo has to be a function
foo = () => 1; //doesn't work, we are not allowed to return a number
foo = () => true; // works
foo = function() { return true }; //works
因為對象上的函數通常用作方法,所以接口具有類似於類中方法聲明的特殊語法。 canDeactivate2 (): Observable<boolean> | Promise<boolean> | boolean
canDeactivate2 (): Observable<boolean> | Promise<boolean> | boolean
看起來像沒有主體的方法,這與其他語言的語言更加一致。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.