繁体   English   中英

“(control:AbstractControl):{[key:string]:any} |是什么? null =>”吗?

[英]What does “(control: AbstractControl): {[key: string]: any} | null =>” do?

我是TypeScript和Angular的新手,但是我在C#中有相当不错的背景。

我正在阅读本文 ,特别是“自定义验证器”和此代码段

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;
  };
}

这行代码做什么/意味着什么? 这是TypeScript定义委托的方式吗?

(control: AbstractControl): {[key: string]: any} | null => {

这是arrow function 要了解它,您可以将其阅读为

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

也就是说,该函数返回类型{[key: string]: any} (具有声明为key变量的对象,其名称为key ,值类型可以为any),或者返回null 而该函数需要Angular类型AbstractControl输入值。

在TypeScript中,冒号通常以两种方式使用:

  1. 在一个对象中,例如{ key: value }
  2. 定义值的类型,在这种情况下可能是您的问题。

希望这可以帮助。 欢迎来到Angular和TypeScript的世界!

暂无
暂无

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

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