我如何创建这样的内容:main.something.word
main = {something: 'test'}
//This results in main.something returning "test"
我如何让main.something.word
也返回测试?
//I tried doing this and it didn't work.
main = {something: 'test' word: 'test'}
答案 0 :(得分:0)
你可以这样做:
main = {something: { word:'test' } };
console.log(main.something.word);

答案 1 :(得分:0)
你不能这样做:一个值不能同时是原始字符串和对象。
但是,您可以使用上下文使JavaScript将值转换为字符串的功能(通过调用toString
方法)。
以下是使用该行为的众多方法之一:
var main = {
something: Object.assign('test', {
word: Object.assign('another test', {
next: 'deepest'
})
})
};
console.log( main.something + ', ' +
main.something.word + ', ' +
main.something.word.next );
嵌套对象中的值不是原始字符串,而是String
个对象:Object.assign
会将第一个参数转换为对象,在这种情况下为String
对象。该对象被赋予在Object.assign
的第二个参数中指定的附加属性,用于存储嵌套值。 String
对象(与字符串原语不同)有一个toString
方法,在此处调用,因为该对象与+
连接。