Вы новичок в JavaScript? позвольте мне показать вам одну из внутренних хитросплетений JS. Можете ли вы угадать вывод кода ниже?

let foo = {
    text: "Hello world!"
}
let bar = foo;
bar.text = "I am mutated!";
console.log(foo.text); 

// I am mutated!

Я знаю, будьте уверены, вы не единственный, кто догадался неправильно!

Позвольте мне рассказать вам об этой концепции, которая называется Мутация объекта.

Надеюсь, вы заметили, что во второй части изображения чашка пуста.

когда кофейная чашка передается в качестве ссылки, существует только одна чашка, и на нее ссылается функция fillCup. При наполнении кофе в fillCup он наполнит исходную чашку.

let foo = {
    text: "Hello world!"
}
let bar = foo;

Здесь bar ссылается на объект foo (чашку). Любые изменения в bar будут обновлять исходный объект foo. Это называется Мутация объекта.

Все изменяемые типы данных передаются по ссылке, а другие передаются по значениям.

Спасибо, что прочитали эту статью. Я надеюсь, что вы сочли полезным.

Удачного кодирования 🤓

Свяжитесь с Сай Киран — Medium, чтобы получать больше таких сообщений.