typescript的type声明{():number}怎么用?

kybetter
  • 483

请问像这样声明了一个 ok 类型后怎么用啊?

type ok = {
  (): number
  foo: number
}
const a: ok = ?

function b(): ok {
    return ?
}
回复
阅读 1.8k
1 个回答

这个跟接口interface相似,一般的写法:

type ok = {
  fun(): number
  foo: number
}
const a: ok = {
    fun:function (): number { 
        return 1
    },
    foo: 1
}

function b(): ok {
    return {
        fun: function (): number{ 
            return 2
        },
        foo:2
    }
}

a.fun()  //1
a.foo    //1
b().foo  //2
b().fun() //2

若的确要使用匿名函数的话,可以这样:

type ok = {
    (): number,
}

function b(): ok {
    return function (){ 
            return 2
        }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏