簡體   English   中英

TypeScript 接口 function 語法

[英]TypeScript interface function syntax

我想了解以下 TypeScript function 的語法。

export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn
{
  return (control: AbstractControl): {[key: string]: any} | null => {
                           const forbidden = nameRe.test(control.value);
                           return forbidden ? {'forbiddenName': {value: control.value}} : null;
                          };
}

這里:AbstractControl: https://angular.io/api/forms/AbstractControl

我的理解是:

  1. 禁止名稱驗證器:用戶定義的名稱 function。

  2. nameRe: RegExp : function- forbiddenNameValidator的參數。

  3. ValidatorFn : function- forbiddenNameValidator的返回類型。

從這里開始: https://angular.io/api/forms/ValidatorFn

interface ValidatorFn
{
  (control: AbstractControl): ValidationErrors | null
}

該文檔說(control: AbstractControl): ValidationErrors | null (control: AbstractControl): ValidationErrors | null是 function。

這里的哪個符號表明它是 function? 我讀過=>符號代表函數。

這里的哪個符號表明它是 function? 我讀過 => 符號代表函數。

有幾種不同的方法可以創建 function 類型。 您在此處看到的只有在您定義一個接口並且想要指定該接口也是可調用的時才會出現。 語法是將左側的參數列表用括號括起來,然后是冒號,然后是右側的返回值。

您可以在此處查看有關此特定語法的更多信息: https://www.typescriptlang.org/docs/handbook/interfaces.html#function-types

以及這里做函數的其他方式,包括你熟悉的=>版本: https://www.typescriptlang.org/docs/handbook/functions.html

control: AbstractControl如何在該代碼的以下部分接收參數?

這些行只是創建然后返回驗證器 function。 尚無control object 存在。 最終有人會調用這個新的驗證器 function,他們有責任傳入一個合適的 object。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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