STARTPOINT_DEV Telegram 12
Настя Котова // Frontend & Node.js
Разбираемся с потерей контекста this в JavaScript! 🔍 Мы часто сталкиваемся с вопросами о this на собеседованиях по JavaScript. Сегодня мы разберем типичный случай, когда контекст this теряется и как это повлияет на код. 📝 Рассмотрим пример: function show()…
🔍 Вспоминаем наш последний разговор о контексте this в JavaScript и углубляемся в детали глобального объекта! 🌐

Когда мы вызываем такую функцию:

function show() {
console.log(this);
}
show();

результат зависит от режима выполнения кода: в строгом режиме получим undefined, в нестрогом — глобальный объект.

🔹 Что такое глобальный объект?
Это специальный объект, который доступен в любом уголке нашего JavaScript-кода. В браузере он известен как window, в Node.js — как global.

🔸 Как работать с глобальными объектами?
1. Можно обращаться к свойствам глобального объекта напрямую:

alert("Привет"); // то же самое, что и
window.alert("Привет");


2. Глобальные переменные, объявленные через var, автоматически становятся частью window в браузере:

var gVar = 5;
alert(window.gVar); // 5


3. Глобальный объект помогает проверить поддержку современных возможностей языка:

if (!window.Promise) {
alert("Ваш браузер очень старый!");
}


Но как быть, если код должен работать и в браузере, и на сервере?
Ключ к решению — globalThis, универсальный объект, который справедлив для любой среды исполнения. Он имеет полную поддержку во всех последних версиях браузеров, и вы также можете использовать его в Node.js 12+. Подробнее можно прочитать здесь: MDN globalThis.

Были ли вы в курсе о globalThis? Поделитесь в комментариях 📬
🔥2👍1



tgoop.com/startpoint_dev/12
Create:
Last Update:

🔍 Вспоминаем наш последний разговор о контексте this в JavaScript и углубляемся в детали глобального объекта! 🌐

Когда мы вызываем такую функцию:


function show() {
console.log(this);
}
show();

результат зависит от режима выполнения кода: в строгом режиме получим undefined, в нестрогом — глобальный объект.

🔹 Что такое глобальный объект?
Это специальный объект, который доступен в любом уголке нашего JavaScript-кода. В браузере он известен как window, в Node.js — как global.

🔸 Как работать с глобальными объектами?
1. Можно обращаться к свойствам глобального объекта напрямую:

alert("Привет"); // то же самое, что и
window.alert("Привет");


2. Глобальные переменные, объявленные через var, автоматически становятся частью window в браузере:

var gVar = 5;
alert(window.gVar); // 5


3. Глобальный объект помогает проверить поддержку современных возможностей языка:

if (!window.Promise) {
alert("Ваш браузер очень старый!");
}


Но как быть, если код должен работать и в браузере, и на сервере?
Ключ к решению — globalThis, универсальный объект, который справедлив для любой среды исполнения. Он имеет полную поддержку во всех последних версиях браузеров, и вы также можете использовать его в Node.js 12+. Подробнее можно прочитать здесь: MDN globalThis.

Были ли вы в курсе о globalThis? Поделитесь в комментариях 📬

BY Настя Котова // Frontend & Node.js


Share with your friend now:
tgoop.com/startpoint_dev/12

View MORE
Open in Telegram


Telegram News

Date: |

As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” How to create a business channel on Telegram? (Tutorial) With the administration mulling over limiting access to doxxing groups, a prominent Telegram doxxing group apparently went on a "revenge spree." Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. Clear
from us


Telegram Настя Котова // Frontend & Node.js
FROM American