【问题标题】:Javascript equivalent of Java static final String or enum for accessing member names用于访问成员名称的 Java 静态最终字符串或枚举的 Javascript 等效项
【发布时间】:2017-08-03 11:02:28
【问题描述】:

我有一个服务器端 javascript 文件,它将 XML 请求转换为 JSON 响应(反之亦然)并执行一些业务逻辑。

XML 元素名称来自属于不同项目的架构。

为了防止小错字导致重大错误,并使处理架构更改相对轻松,我想将元素名称提取到变量中。

在 Java 中,我会使用 static final String 类型的变量或枚举来执行此操作。

public class Names {
    public final static String CUSTOMER_ZIPCODE = "POstal_code";
    public final static String CUSTOMER_LASTNAME = "last-name";
    public final static String EMPLOYEE_LASTNAME = "lastName";
}

现在,当架构中的元素名称发生变化时,我只需更新 Names 类。 (还要注意现实世界中元素的拼写不一致。)

然后可以使用变量:

createElement(Names.CUSTOMER_LASTNAME, "Spolsky");

导致:

<bla:last-name>Spolsky</bla:last-name>

有没有办法做到这一点是javascript?

【问题讨论】:

标签: javascript java


【解决方案1】:

我相信您正在寻找的是const

常量 您可以使用 const 关键字创建一个只读的命名常量。常量标识符的语法与变量标识符的语法相同:它必须以字母、下划线或美元符号 ($) 开头,并且可以包含字母、数字或下划线字符。

例如,你可以说 const CUSTOMER_ZIPCODE = "POstal_code";

【讨论】:

    【解决方案2】:

    你可以试试这样的:

     function Apple (type) {
        this.type = type;
        this.color = "red";
        this.getInfo = getAppleInfo;
    }
    
    
    
    function getAppleInfo() {
        return this.color + ' ' + this.type + ' apple';
    }
    

    要使用 Apple 构造函数实例化对象,设置一些属性并调用方法,您可以执行以下操作:

    var apple = new Apple('macintosh');
    apple.color = "reddish";
    alert(apple.getInfo());
    

    更多信息请参考link

    要在javascript中使用常量,请参考问题here

    【讨论】:

    • 我不明白这个答案,除非你的意思是说字符串值应该被建模为函数。我考虑过这个,实际上是 B 计划,但它使解码变得不那么清晰。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多