Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Деструктурирующее присваивание (https://javascript.ru/forum/misc/84225-destrukturiruyushhee-prisvaivanie.html)

lgick 12.07.2022 23:42

Деструктурирующее присваивание
 
Подскажите, как можно сделать присваивание всех методов в объекте, чтоб не прописывать каждый персонально


рони 13.07.2022 02:08

lgick,
{...obj}

voraa 13.07.2022 07:19

Только методов или методов и свойств?

ksa 13.07.2022 09:19

lgick, сделай пример тестовый. Так будет понятнее что хочешь получить в итоге...

Alexandroppolus 13.07.2022 10:20

reducers: {
    setNamedValue(state, action) {
        state[action.payload.name] = action.payload.value;
    }
}

lgick 13.07.2022 10:35

Цитата:

Сообщение от ksa (Сообщение 546627)
lgick, сделай пример тестовый. Так будет понятнее что хочешь получить в итоге...

хочу использовать эти методы в других компонентах:
import {
  setTextBoxPosition,
  setTextBoxSize,
  setTextBoxColor,
  setButtonPosition,
...
} from '../../../redux/slice';


просто методов много и прописывать каждый долго

lgick 13.07.2022 10:36

Цитата:

Сообщение от voraa (Сообщение 546626)
Только методов или методов и свойств?

там только методы, но можно и свойств

ksa 13.07.2022 10:48

Цитата:

Сообщение от lgick
хочу использовать эти методы

Вместо перечисления методов удобнее взять весь объект
import act from '../../../redux/slice';
// далее применять
act.setTextBoxPosition()

Т.о. ничего "перечислять" не нужно...

lgick 13.07.2022 10:52

То есть хочу комбинировать деструктуризацию объекта и остаток объекта

Хочу получить такой результат:

let {...???} = {x:1, y: 2};

console.log(x) // 1
console.log(y) // 2


Возможно?

lgick 13.07.2022 10:53

Цитата:

Сообщение от ksa (Сообщение 546631)
Вместо перечисления методов удобнее взять весь объект
import act from '../../../redux/slice';
// далее применять
act.setTextBoxPosition()

Т.о. ничего "перечислять" не нужно...

да, так можно, но я хочу обращаться к свойству напрямую, а не через объект


Часовой пояс GMT +3, время: 09:22.