«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Деструктуризация в параметрах функции

Деструктуризация в параметрах функции

Опубликовано 8 ноября 2024 г.
Просматривать:182

Destructuring in function parameters

Предположим, у меня есть проект в Three.js, и мне нужны некоторые геометрии. Я жестко запрограммирую массив объектов, который будет содержать их значения x, y и z, а также их значения ширины, высоты и глубины, но этот массив может поступать с сервера или сторонних API =>

const geometriesRaw = [
    {
      color: 0x44aa88,
      x: 0,
      y: 1,
      z: 0,
      width: 1,
      height: 1,
      depth: 1
    },
    {
      color: 0x8844aa,
      x: -2,
      y: 1,
      z: 0,
      width: 1.5,
      height: 1.5,
      depth: 1.5
    }

  ];

Затем я визуализирую их с помощью Array. функция карты =>

  const cubes = geometriesRaw.map((cube)=>{
    
         
         
      
  }) 

С первого взгляда мы можем оценить многословность этого кода, каждый раз повторяя куб аргументов.
Еще одним красным флагом является отсутствие ясности относительно того, какие свойства мы используем из массива, например, z равно 0 в обоих случаях и, вероятно, будет равно нулю в подавляющем большинстве случаев.
В нашем обычном случае использования мы не должны предоставлять это свойство нашей функции, это также может часто происходить со свойством глубины.

По этой причине лучшим вариантом будет деструктуризация свойств, полученных из массива объектов, следующим образом =>

 const cubes = geometriesRaw.map(({x,y, width, color})=>{
    
         
         
      
  }) 

Теперь мы просто используем x,y, ширину и цвет. Таким образом, мы подразумеваем, что z, высота и глубина являются свойствами по умолчанию внутри нашей функции, и они нам не нужны из данных, поступающих с нашего сервера или сторонних

Таким образом, мы скрываем свойства для будущих разработчиков, которые будут взаимодействовать с константами наших кубов, просто показывая им те, которые нам нужны из внешнего источника, и те, которые мы устанавливаем по умолчанию для лучшей практики, которую мы можем даже написать
константа z = 0
...
внутри нашей функции, чтобы было еще понятнее

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/kevincoto/destructuring-in-function-parameters-5gkb?1. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3