jkchao / typescript-book-chinese

TypeScript Deep Dive 中文版
https://jkchao.github.io/typescript-book-chinese/
MIT License
6.53k stars 673 forks source link

函数声明 -> 函数重载 #150

Closed chenc041 closed 4 years ago

chenc041 commented 4 years ago

只能用第一种方式 -> 只能用下边这种方式 函数重载应该是用 LongHandAllowsOverloadDeclarations 这个类型定义, 原文的说法容易让人觉得是上边的类型定义

jkchao commented 4 years ago

例子中:

type LongHand = {
  (a: number): number;
};

type ShortHand = (a: number) => number;

第一种方式,即是上面代码里面的第一个例子。

chenc041 commented 4 years ago

例子中:

type LongHand = {
  (a: number): number;
};

type ShortHand = (a: number) => number;

第一种方式,即是上面代码里面的第一个例子。

恩 这么一说就懂了

type LongHandAllowsOverloadDeclarations = {
 (a: number): number;
 (a: string): string;
};

其实这个 也就是上边 LongHand的变体, 但是我这边看的时候, 感觉上是有一点点歧义, 或者是不是将 LongHand 和 ShortHand 这个两个例子, 分成两个代码块会更好点呢?