我正在学习TypeScript/ES6教程。
以下代码工作,例如输出["Richard Francis Burton"]
:
let convertToStringArray: (v: string) => string[] = (value) => [value];
let name = "Richard Francis Burton";
let names = convertToStringArray(name);
console.log(names);
但是如何理解TypeScript/ES6语法呢?
convertToStringArray
是具有参数名称v
的函数名称,参数名称必须为string
类型- 该函数返回
string[] = (value) => [value];
但这与以下不起作用的函数相同(Error TS1011: An element access expression should take an argument.
(
function convertToStringArray(v: string) {
return string[] = (value) => [value];
}
此函数返回
string[] = (value) => [value];
否,函数返回string[]
,变量初始化为(value) => [value];
declaration TypeScript type (initial) value
/ / /
let convertToStringArray: (v: string) => string[] = (value) => [value];
您混淆了内联类型注释和函数本身。这意味着你有一个类型为(v: string) => string[]
的变量convertStringToArray
,它被赋值为(value) => [value]
。它相当于:
function convertToStringArray(value: string): string[] {
return [value];
}
游乐场