Проанализируйте код и определите, что будет выведено в консоли.
(function () {
function modifyItemData(price, platform) {
price.rub = 5000;
platform = 'iOS';
isModified = true;
function printItemData() {
console.log(price); // ?
console.log(platform); // ?
console.log(isModified); // ?
}
return printItemData;
}
let price = { rub: 3500 };
let platform = 'Android';
let isModified = false;
const printItemData = modifyItemData(price, platform, isModified);
console.log(price); // ?
console.log(platform); // ?
console.log(isModified); // ?
price = { usd: 100 };
platform = 'Web';
isModified = null;
printItemData();
})();
Вопросы:
1. Почему price изменяется, а platform — нет?
2. Как работает область видимости переменной `isModified`?
#собеседование #лайвкодинг