对TypeScript中定义函数表达式的疑问

例如用es6定义一个函数如下:


let a = (x) => alert(x);

在TypeScript中如果要为变量a和函数体都定义类型,则是这样的写法:


let a: (x: number) => number = function (x: number): number {

  alert(x);

  return 0;

};

我对此非常不解,不知道为什么箭头和等号换了位置,也不懂参数部分 (x: number) 为什么出现了两次,求解


紫衣仙女
浏览 450回答 1
1回答

慕丝7291255

其实不必向你那样定义, TypeScript 有类型推导let a = (x: number) => alert(x); // 这样就可以了然后你的问题分成几部分看:首先看 let a: (x: number) => number 这部分这表示定义一个 a , a 的类型是一个函数;(x: number) => number 这里表示的是函数的类型,函数接受一个 number 类型参数,返回 number 类型。= 后面才是函数的定义。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript