0在以下打字稿代码片段中的含义是什么?

时间:2015-10-31 09:36:09

标签: typescript

以下打字稿代码片段中0表示什么?

var x = (a: number) => 0;
var y = (b: number, s: string) => 0;
y = x; // OK
x = y; // Error

1 个答案:

答案 0 :(得分:2)

您正在定义arrow function() => 0只是一个返回0的函数(函数体不会执行除return 0之外的任何操作)

(a: number) => 0(b: number, s: string) => 0相同,它们是接受这些参数并返回0的函数

  • () => 0转换为function () { return 0; }
  • (a: number) => 0转换为function (a) { return 0; }
  • (b: number, s: string) => 0转换为function (b, s) { return 0; }

您可以在此Typescript游乐场中看到等效的Javascript:

http://www.typescriptlang.org/Playground#src=var%20f%20%3D%20()%20%3D%3E%200%0A%0Avar%20x%20%3D%20(a%3A%20number)%20%3D%3E%200%3B%0Avar%20y%20%3D%20(b%3A%20number%2C%20s%3A%20string)%20%3D%3E%200%3B

Playground网址很长,因为源代码嵌入在网址