#javascript #node.js #variables
#язык JavaScript #node.js #переменные
Вопрос:
я новичок в JavaScript, но мне нужна помощь, я могу получить доступ или вызвать из внешних переменных внутри блока константный ? от код в нижней части, мне нужно получить доступ к layerAttributes котором переменная находится внутри addAttributes блок, я пытаюсь консоли.журнал(layerAttributes); внутри блока работает, но я не знаю, как это назвать из-за пределов блока, большой признателен за помощь и благодарю заранее.
const addAttributes = (_element) =gt; { let selectedElement = _element.layer; const layerAttributes = { trait_type: _element.layer.trait, value: selectedElement.traitValue, ...(_element.layer.display_type !== undefined amp;amp; { display_type: _element.layer.display_type, }), }; console.log(layerAttributes); if ( attributesList.some( (attr) =gt; attr.trait_type === layerAttributes.trait_type ) ) return; attributesList.push(layerAttributes); };
Комментарии:
1. Не похоже, что вы возвращаете значение… почему бы не вернуть его?
Ответ №1:
Насколько я понял, вы хотите иметь доступ к атрибутам слоев извне блока, вы можете объявить его снаружи, а затем использовать внутри блока const и снаружи, как это:
let layerAttributes = {}; //declared outside the block const addAttributes = (_element) =gt; { let selectedElement = _element.layer; layerAttributes = { //accessed inside the block trait_type: _element.layer.trait, value: selectedElement.traitValue, ...(_element.layer.display_type !== undefined amp;amp; { display_type: _element.layer.display_type, }), }; console.log(layerAttributes); if ( attributesList.some( (attr) =gt; attr.trait_type === layerAttributes.trait_type ) ) return; attributesList.push(layerAttributes); }; //end of block console.log(layerAttributes); //accessed outside the block
скажи мне, это то, что ты имел в виду
Комментарии:
1. Вы не можете выполнить задание для
const
А. Вы можете либо сделать этоlet
, либо использовать что-то вродеObject.assign(layerAttributes, { trait_type: ... })
добавления свойств без назначения.2. Да, верно @David784
3. Большое спасибо @YESSINE за ответ, приношу извинения за неполный вопрос, мне нужен доступ к данным внутри атрибутов слоев, мне нужно получить доступ к ним из-за пределов блока, ваш код работает как заклинание, но когда я вызываю данные атрибутов слоев из-за пределов блока, никакой ошибки и по-прежнему никаких данных не возвращается, когда я пытаюсь с помощью консоли. войдите из — за пределов блока.