Можно ли добавить две точки в имя переменной в Javascript?

#javascript

#javascript

Вопрос:

я хочу создать такую переменную в javascript

 variable1.varible2.variable3 = "Hi Its working";
alert(variable1.varible2.variable3);
  

Комментарии:

1. Я не знаю, возможно ли это вообще, но даже если это так, зачем вам это делать? Это может привести к серьезному нечитаемому коду, поскольку variable1.something теперь может означать несколько вещей.

2. Мне нужно также добавить третью

3. это то, что я на самом деле хочу, чтобы мой предыдущий код var mockwindow = {}; mockwindow. location = » replacedurl.com/document «; предупреждение (mockwindow. местоположение); Я хочу добавить третье подобное оповещение (mockwindow. location.href)

4. Я согласен с Тимом. Обычно здесь у вас есть объект с другим объектом, который отображается. Например, у вас может быть объект car с объектом engine с типом в качестве свойства. Тогда вы могли бы написать Car.engine. тип = «V8 Turbo»

5. это не переменная, это установка свойства объекта. То есть, если у вас уже есть объект с именем variable1 , который имеет свойство variable2 , содержащее другой объект, то вы можете установить для него свойство с именем variable3 с помощью этого кода. Но это не присваивается и не может присваиваться новой переменной. . Символ не является законным в идентификаторе JS.

Ответ №1:

Вы не можете иметь . в именах переменных.

Вы можете называть переменную практически как угодно, но есть ограничения. Как правило, вы должны придерживаться только латинских символов (0-9, a-z, A-Z) и символа подчеркивания.

Если вы действительно хотите, чтобы variable1.varible2.variable3 возвращаемое значение "Hi Its working" . Вы можете использовать объекты.

 let variable1 = {
  variable2:{
    variable3:"Soemthing"
  }
}
console.log(variable1.variable2.variable3)  

Ответ №2:

вы не можете использовать . для имени переменной, но вы можете сделать это с объектами:

 let person = {
  name: {
    first: 'john',
    last: 'snow'
  },
  eyes: {
    color: 'black'
  }
}
console.log(person.name.first); //john
  

Ответ №3:

 var car = new Object();
car.type = "Fiat";
car.model = "500";
car.color = "white";
car.engine = {type:"V8", fuel:"diesel"}
console.log(car)

window.alert(car.engine.type) 
  

Тогда вы могли бы написать Car.engine.тип = «V8 Turbo»