首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何分配(x:number)类型的变量(=>{y:number,z:number}?)

如何分配(x:number)类型的变量(=>{y:number,z:number}?)
EN

Stack Overflow用户
提问于 2021-10-29 00:07:57
回答 1查看 75关注 0票数 1

我有一个要初始化的变量foo。我下面的尝试没有编译。

代码语言:javascript
复制
let foo: (x: number)=>{y:number,z: number}= (x)=>{x+1,x+2};

有以下错误:

逗号运算符左侧未使用,且没有边effects.ts(2695) (参数) x: number

问题

初始化变量foo的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-29 00:12:22

由于箭头函数表示法的工作方式,输出周围的大括号被解释为包含函数体,而不是返回的值。

有两种方法可以解决这个问题。一种是使用较长的箭头函数表示法,并使用return语句。另一种方法是将对象封装在括号中。

看起来,您还忘了在输出中添加yz标签。

试一试其中一种:

代码语言:javascript
复制
let foo: (x: number) => {y: number, z: number} = (x) => ({y: x+1, z: x+2});
代码语言:javascript
复制
let foo: (x: number) => {y: number, z: number} = (x) => {
    return {y: x+1, z: x+2};
};

值得注意的是,当以这种方式初始化变量时,TypeScript能够推断其类型。因此,您实际上可以将代码缩短为以下其中之一:

代码语言:javascript
复制
let foo = (x: number) => ({y: x+1, z: x+2});
代码语言:javascript
复制
let foo = (x: number) => {
    return {y: x+1, z: x+2};
};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69762244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档