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

voraa 13.07.2022 12:11

Цитата:

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

Если это твои компоненты - сделай классы и наследование.
Цитата:

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

import act from '../../../redux/slice';

const {setTextBoxPosition, setTextBoxSize} = act;

setTextBoxSize();


Не совсем понятно, что значит у вас "другие компоненты"
Если компонент - какой то объект, к которому вы хотите прицепить эти методы, то можно просто их наследовать через прототип.
Если вы хотите просто экспортировать часть этих методов вместе с методами другого компонента, то используйте реэкспорт - конструкцию
export from

lgick 13.07.2022 12:29

Цитата:

Сообщение от voraa (Сообщение 546634)
Если это твои компоненты - сделай классы и наследование.


import act from '../../../redux/slice';

const {setTextBoxPosition, setTextBoxSize} = act;

setTextBoxSize();


Не совсем понятно, что значит у вас "другие компоненты"
Если компонент - какой то объект, к которому вы хотите прицепить эти методы, то можно просто их наследовать через прототип.
Если вы хотите просто экспортировать часть этих методов вместе с методами другого компонента, то используйте реэкспорт - конструкцию
export from



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

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

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


?

voraa 13.07.2022 12:32

Цитата:

Сообщение от lgick
а как получить такой результат:

let {x, y} = {x:1, y: 2};
console.log(x) // 1
console.log(y) // 2


let {x, y, ...t} = {x:1, y: 2, a:3, b:4};
console.log(x) // 1
console.log(y) // 2
console.log(t) // {a:3, b:4}

MallSerg 13.07.2022 16:42

ООП -> наследование.

Дизайн объектов на основе базовых классов прототипов. =)


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