Как получить свойсвто объекта?
Здравствуйте, подскажите пожалуйста.
Есть строка кода: Test.a: 'Hello' || {Name: 'Vasya'} Вопрос: как мне при необходимости получить один из вариантов, к примеру: если я хочу получить тексто привет, то я могу написать: Test.a // Hello а вот как мне получить Вася??? Test.a.Name // undefined Какие есть варианты? Как вариант можно изменить первоначальную запись, то есть эту Test.a: 'Hello' || {Name: 'Vasya'} только как? |
Armen, в Вашем случае, {Name: 'Vasya'} тут не несёт смысла, ибо "Hello" - это true, следовательно объект записаться просто не может.
А что мешает просто сделать объектом? Test.a = { Name: 'Vasya', Text: 'Hello' }; |
Цитата:
|
Armen,
В принципе, можно попробовать вот так <html> <head> </head> <body> <script> Test={ a: new String("Hello") } Test.a.Name="Vasya" // { '0': 'H', '1': 'e', '2': 'l', '3': 'l', '4': 'o', Name: 'Vasya' } // реально представляет из себя вот такой объект console.log(Test.a) console.log(Test.a.Name) // Hello // Vasya console.log(Test.a.slice(-5), Test.a.length) // Hello 5 alert(Test.a) document.write(Test.a) </script> </body> </html> Как видно, при употреблении в строковом контексте, приводится к нормальной строке. Заметил только,что в дебильном V8 в console.log не приводится. В любом случае, можно привести явно, если чо. |
Я не очень понял суть задачи, но, возможно, нужны геттеры?
|
Часовой пояс GMT +3, время: 02:18. |