像 kotlin 这样的打字稿中的条件赋值

And*_*rew 0 javascript typescript

我开始学习打字稿及其语言特征。我怀念的一件事是诸如when表达式或条件赋值之类的东西。就像是

val languange = "DE"

val test = when(languange) {
   "DE" -> "HALLO"
   "EN" -> "HELLO"
   else -> "NONE"
}
Run Code Online (Sandbox Code Playgroud)

我发现在打字稿中实现这一点的唯一方法是:

const language = "DE"

var description: String;

if (language == "DE") {
   description = "HALLO"
} else if (language == "EN") {
   description = "HELLO"
}
Run Code Online (Sandbox Code Playgroud)

难道没有更方便的方法来实现这个吗?

Cer*_*nce 5

对象(或 Map)是一种可能性:

const language = "DE" as const;

const descriptionsByLanguage = {
  DE: 'HALLO',
  EN: 'HELLO',
  // etc
};
const description = descriptionsByLanguage[language];
Run Code Online (Sandbox Code Playgroud)