我在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
放入temprature
和weather.h
放入humidity
这将返回一个具有temprature
和humidity
属性的对象。这是return { temperature:temperature, humidity:humidity};
的简写。这是ES6中的新符号之一:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer