我在jetbrains.com上找到了这个例子

async function getWeather(cityid: number){
    var weather = await getForecast(cityid);
    var {t: temperature, h: humidity} = weather;
    return { temperature, humidity};
}

我了解异步/等待,但是我试图了解最后两行的情况。
var {t: temperature, h: humidity} = weather;

据我所知,这将创建一个具有两个属性的var,它们是温度类型t和湿度类型h。
return { temperature, humidity};

对我来说,这似乎是在返回一个带有两个子对象(温度和湿度)的新对象。我不知道它是如何从天气对象中获取的。

我不知道这是一个JavaScript问题还是一个 typescript 问题,因此我将两者都标记为。

最佳答案



这称为解构。这是这里介绍的概念:https://basarat.gitbooks.io/typescript/content/docs/destructuring.html

在这里,您说的是将weather.t放入tempratureweather.h放入humidity


这将返回一个具有tempraturehumidity属性的对象。这是return { temperature:temperature, humidity:humidity};的简写。这是ES6中的新符号之一:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer

10-05 20:51