代码之家  ›  专栏  ›  技术社区  ›  Maxime Dupré

如何在赋值时而不是在声明时推断变量类型?

  •  -1
  • Maxime Dupré  · 技术社区  · 7 年前

    假设我有这样的声明:

    let spyObjs;
    

    类型 spyObjs any

    let spyObjs = {fruit: 'apple', os: 'windows'};
    

    类型 间谍 {fruit: string, os: string} ,因为类型是推断的。我想要的是:

    let spyObjs;
    spyObjs = {fruit: 'apple', os: 'windows'};
    

    以及 间谍 成为 {水果:字符串,操作系统:字符串} 任何 .

    如何使用TS 3.0实现这一点?

    编辑

    let spyObjs;
    
    let someFunction = () => {
        spyObjs = { fruit: 'apple', os: 'windows' };
    }
    
    let someOtherFunction = () => {
        // user spyObjs here also
    }
    
    someFunction()
    someOtherFunction()
    

    在这种情况下如何推断类型?

    1 回复  |  直到 5 年前
        1
  •  0
  •   Ashifur rahman    7 年前

    首先,不能用相同的名称声明两个变量。

    让间谍们; 让spyObjs={fruit:'apple',os:'windows'};

    第二,你申报的时候 让spyObjs={fruit:'apple',os:'windows'}; 它的类型不再是“任何”。它变成了“{fruit:'apple',os:'windows'}”