样本对象:
const myArray = {'attributes':{ 'fullName': 'Foo Bar'};
在代码审查期间,我发现一个键(字符串类型)被用于访问多个功能的对象。
现在我的问题是,我们是否应该使用字符串文字作为键直接访问对象,例如myArray['attributes']['fullName']
或改为使用常量,例如:
const ATTRIBUTES = 'attributes';
const FULLNAME = 'fullName';
someVar = myArray[ATTRIBUTES][FULLNAME];
据我所知,后一种方法更好,因为它只保留一个内存块。 但是我的朋友有不同的看法,他告诉我们如果我们使用字符串文字作为键,那么这对内存不会有任何影响。
现在,我很困惑,不知道哪种方法更好。 有人可以帮我理解哪一个更好的解释吗?
答案 0 :(得分:1)
这样的事情不会影响性能。我认为第二个选项也不太可读。
答案 1 :(得分:0)
我愿意
myArray.attributes.fullName
因为它显示了编译器使用常量作为值,而不是在结构旨在动态使用的情况下使用brwacket表示法。
答案 2 :(得分:0)
我不了解内存,我使用的是第一个选项,但是如果更改了密钥,我将不得不在多个地方而不是一个地方进行修改,因此对于代码重取来说并不是很好< / p>