Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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
Javascript Typescript:函数参数中的并集导致错误_Javascript_Typescript - Fatal编程技术网

Javascript Typescript:函数参数中的并集导致错误

Javascript Typescript:函数参数中的并集导致错误,javascript,typescript,Javascript,Typescript,从Flow来看,这过去很好,但在TS中显然不是这样,我在网上找不到合适的例子: type Props = { fnA(string, string | object): void; // ^ Unexpected token, expected "," fnB(string, any): void; // No problems with this } 为函数参数编写联合类型的正确方法是什么?这就是TypeScript语法的特点:在

从Flow来看,这过去很好,但在TS中显然不是这样,我在网上找不到合适的例子:

type Props = {
    fnA(string, string | object): void; 
                    // ^ Unexpected token, expected "," 
    fnB(string, any): void; // No problems with this 
}

为函数参数编写联合类型的正确方法是什么?

这就是TypeScript语法的特点:在函数类型中,必须为所有参数命名:

type Props = {
    fnA(a: string, b: string | object): void; 

    fnB(string, any): void; // string, any are parameter names, not types
}
在第二个函数
fnB
中,
string
any
被混淆地解释为具有隐式
any
类型的参数名称,而不是类型-如果启用了
--noImplicitAny
选项,则会出现错误