在TypeScript中使用Fat arrow函数后,“void =()=> {}”的含义是什么?

时间:2017-09-02 02:01:53

标签: javascript typescript arrow-functions

我在代码库中看到了这段代码,理解void = (page)时遇到了一些问题。根据{{​​3}},返回类型是=>之后的void,在我的情况下是= (page) => {}。那么private navigateTo: (page: string) => void = (page) => { // display page } 做了什么? 如果我不用胖箭头功能写它,它的等效功能是什么?

这是代码:

FactoryGirl.define do
  factory :rep, class: Rep do
    sequence(:lid) { |n| n }
    sequence(:email) { |e| "first.last#{e}@email.com" }
    association :region, factory: :region

    trait :boss do 
      manager true
    end
  end
end

2 个答案:

答案 0 :(得分:7)

您正在查看错误的代码。一般结构是

private Name: Type = Value

类型为(page: string) => void,值为(page) => {}。该类型意味着navigateTo是一个接受字符串作为参数并且不返回任何内容的函数,这是(page) => {}所做的。

答案 1 :(得分:2)

在Typescript中,typings被插入到语言的语句中,转换它们。

您提交的代码应如下:

  • private navigateTo:这部分是直截了当的。我们在当前类中创建一个名为 navigateTo 的私有成员。
  • ...: (page: string) => void:这是会员的类型。在这种情况下,它表示一个函数,它接受string参数而不返回任何内容(void)。这部分纯粹是打字稿。
  • ... = (page) => { /* display page */ }:这是分配给变量的实际函数。

我建议你阅读一些Typescript Handbook。它有很多关于语法和语言的信息。