JavaScript字典,[dictionary_name].[something]是什么意思?

JavaScript dictionary, What does [dictionary_name].[something] mean?

下面的代码中,audioLanguageDict.id、audioLanguageDict.text是什么意思?

AudioLanguage.createFromDict = function(audioLanguageDict) {
return new AudioLanguage(
  audioLanguageDict.id,
  audioLanguageDict.text,
  audioLanguageDict.related_languages);
};

这就是所谓的Property accessor

audioLanguageDict 是具有(至少)属性 idtextrelated_languages 的对象,可以使用 . 访问这些属性,或 [] 运算符:

return new AudioLanguage(
  audioLanguageDict.id,
  audioLanguageDict.text,
  audioLanguageDict.related_languages
);

等于

return new AudioLanguage(
  audioLanguageDict["id"],
  audioLanguageDict["text"],
  audioLanguageDict["related_languages"]
);

这些属性所指的当然是完全自定义的。

在您的 class (AudioLanguageDictionary) 中,您有 id、text 和 related_languages 变量。你的函数传递了一个属于你的 class 的对象,你正在从那个 class 创建另一个具有相同变量的 class 对象(AudioLanguage)。这样你就有了 2 个变量相同但 class 不同的对象。现在可能使用这个对象你可以做一些不同于第一个的操作。