მეთოდი Object.assign
Object.assign მეთოდი აკოპირებს წყაროს ობიექტის თვისებებს და მნიშვნელობებს,
აბრუნებს ახალ ობიექტს. მეთოდის პირველ პარამეტრში ჩვენ
ვანიჭებთ სამიზნე ობიექტს, რომელშიც ვაკოპირებთ,
ხოლო მეორეში - მივუთითებთ ობიექტებს, რომლების კოპირებაც საჭიროა.
სინტაქსი
Object.assign(სად ვაკოპიროთ, ობიექტები);
მაგალითი
მოდით მივიღოთ ახალი ობიექტი წყაროდან:
let obj = {'a': 1, 'b': 2, 'c': 3};
let newObj = Object.assign({}, obj);
console.log(newObj);
კოდის შესრულების შედეგი:
{a: 1, b: 2, c: 3}
მაგალითი
ახლა კი მივიღოთ ახალი ობიექტი რამდენიმე წყაროდან, პარამეტრში მათი მძიმით გამოყოფით:
let obj1 = {'a': 1, 'b': 2};
let obj2 = {'c': 3, 'd': 4};
let newObj = Object.assign({}, obj1, obj2);
console.log(newObj);
კოდის შესრულების შემდეგ ჩვენ ვნახავთ, რომ ორი წყაროს ობიექტი გაერთიანდა ერთ ახალ ობიექტში:
{a: 1, b: 2, c: 3, d: 4}
მაგალითი
ასევე Object.assign მეთოდი
შეიძლება გამოვიყენოთ ახალი მასივის მისაღებად,
რადგან მასივი თავისი ტიპით ასევე ეკუთვნის ობიექტებს.
მოდით შევქმნათ ახალი მასივი, ელემენტების წყაროდან კოპირებით:
let arr = [1, 2, 3, 4];
let newArr = Object.assign([], arr);
console.log(newArr);
კოდის შესრულების შედეგი:
[1, 2, 3, 4]
მაგალითი
Object.assign მეთოდის გამოყენებისას
სინტაქსის დაცვა საჭიროა.
მაგალითად, თუ პირველ პარამეტრში არ დავამატებთ
სამიზნე ობიექტს, არამედ დავტოვებთ
მხოლოდ კოპირებად ობიექტს, მაშინ ის უბრალოდ დააბრუნებს იგივე ობიექტს:
let obj = {1:'a', 2: 'b', 3: 'c'};
let newObj = Object.assign(obj);
console.log(newObj === obj);
კოდის შესრულების შედეგი:
true
ასევე იხილეთ
-
მეთოდი
Object.keys,
რომელიც აბრუნებს ობიექტის თვისებების მასივს -
მეთოდი
Object.values,
რომელიც აბრუნებს ობიექტის მნიშვნელობების მასივს