Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TypeScript接口函数语法_Typescript - Fatal编程技术网

TypeScript接口函数语法

TypeScript接口函数语法,typescript,Typescript,我想了解以下TypeScript函数的语法 export function forbiddenNameValidator(nameRe: RegExp): ValidatorFn { return (control: AbstractControl): {[key: string]: any} | null => { const forbidden = nameRe.test(control.value);

我想了解以下TypeScript函数的语法

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;
                          };
}
在这里: 抽象控制:

我的理解是:

  • 禁止验证程序:用户定义函数的名称

    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;
                              };
    }
    
  • nameRe:RegExp:function-validator的参数

  • ValidatorFn:函数的返回类型-Validator

  • 从这里开始:

    该文档说明
    (control:AbstractControl):ValidationErrors | null
    是一个函数

    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;
                              };
    }
    
    这里哪个符号表示它是一个函数?我已经读到
    =>
    符号代表函数

    这里哪个符号表示它是一个函数?我读过=>符号表示函数

    有几种不同的方法可以创建函数类型。只有在定义接口并希望指定该接口也可调用时,才会出现您在此处看到的接口。语法是将左侧的参数列表用括号括起来,然后是冒号,然后是右侧的返回值

    您可以在此处查看有关此特定语法的更多信息:

    以及其他执行函数的方法,包括您熟悉的
    =>
    版本:

    control:AbstractControl
    如何接收该代码以下部分中的参数

    这些行只是创建并返回验证器函数。尚不存在
    控件
    对象。最终有人会调用这个新的验证器函数,他们的责任是传递一个适当的对象