Доступ к свойствам длинноцепочечного JSON в javascript

#javascript #node.js #ecmascript-6

#javascript #node.js #ecmascript-6

Вопрос:

Это кажется странным сомнением, но хотелось бы узнать об этом.

В моем проекте vanilla javascript необходимо получить доступ к различным свойствам внутри объекта.

Рассмотрим

 {
students: {
 insideProperty1: {
  insideproperty2: {
   insideProperty3: {
    pro1: 1,
    pro2: 2,
    pro3: 3,
    .
    .
    .
    }
   }
  }
 }
}
  

Я должен получить доступ к внутренним свойствам

Использую ли я

 students.insideProperty1.insideProperty2.insideProperty3.pro1
students.insideProperty1.insideProperty2.insideProperty3.pro2
students.insideProperty1.insideProperty2.insideProperty3.pro3
  

или

 const proVar = students.insideProperty1.insideProperty2.insideProperty3;
proVar.pro1
proVar.pro2
proVar.pro3
  

я спросил, что мой скрипт будет оптимизирован и сжат в процессе производства (с использованием uglifyjs и других), так нужно ли мне позаботиться об этом при разработке или об этом позаботятся сценарии оптимизации?

Ответ №1:

Вы даже можете сделать больше короче с помощью разрушения массива.

 const { pro1, pro2, pro3 } = students.insideProperty1.insideProperty2.insideProperty3;
  

Ответ №2:

Чем позже.

1) Он более удобочитаем (в конце концов, это важно)

2) Он короче (меньше кода -> меньше кода для загрузки -> загружается быстрее)

В своем коде вы создаете тысячи переменных, размещаете миллионы объектов и массивов. Одна переменная не имеет значения.

Ответ №3:

Это зависит от того, хотите ли вы прочитать все свойства, вам нужны только некоторые из них, также это зависит от общего количества свойств в JSON. Предположим, у вас есть только 3 свойства в вашем JSON, будет лучше использовать первый метод, потому что он займет меньше памяти, но если вы хотите прочитать все свойства, а количество свойств велико, вам следует использовать второй метод.