gpt4 book ai didi

javascript - 哪种方法更适合有条件地分配?

转载 作者:行者123 更新时间:2023-12-02 07:18:34 24 4
gpt4 key购买 nike

下面的代码只是初始化两个变量,具体取决于传递的 cloudType,可以通过任何一种方法分配。在 JavaScript 中,建议使用较少的代码行数,因此我喜欢第二种方法,它还消除了重复。

如果将来需要,方法一让我可以灵活地在特定情况下添加操作,而第二种方法为我节省了大量字节,也帮助我减少了重复。

switch (cloudType) {
case "aws":
value = this._resetMessageDefaultValues.aws
resetText = this._messages.current.aws
break;
case "private":
value = this._resetMessageDefaultValues.private;
resetText = this._messages.current.private
break;
case "azure":
value = this._resetMessageDefaultValues.azure;
resetText = this._messages.current.azure
break;
}

或者

value = this._resetMessageDefaultValues[cloudType];
resetText = this._messages.current[cloudType]

最佳答案

无论如何,我更喜欢第二个代码。

如果您的 cloudType 变量与其他两个对象的属性具有一对一映射,为什么不明确说明呢?这也避免了重复代码。

为了安全起见,请将这些检查添加到您的代码中:

value = this._resetMessageDefaultValues[cloudType];
resetText = this._messages.current[cloudType]
if (typeof value == "undefined" || typeof resetText == "undefined") {
// throw some error
}

这样您就会知道,当一个新的 cloudType 添加到您的系统时,您应该将相关属性添加到那些其他对象。

关于javascript - 哪种方法更适合有条件地分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51978666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com