簡體   English   中英

Typescript ES6箭頭語法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM