Как получить свойсвто объекта?
Здравствуйте, подскажите пожалуйста.
Есть строка кода:
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, время: 14:54. |