В
И не забываем, что
#js #tip
JS
чтобы выйти из вложенных циклов можно использовать меткиouterLoop: for (let i = 0; i < 5; i++) {
let j = 0;
while (true) {
if (j === 2) {
break outerLoop; // Выходит из внешнего цикла
}
j++;
}
}
И не забываем, что
Array.prototype.sort()
приводит к строкам. Нужен компаратор.[10, 2, 1].sort(); // [1, 10, 2] (как строки!)
[10, 2, 1].sort((a, b) => a - b); // [1, 2, 10] (правильно)
#js #tip
🥴9👍5😁2
Раньше я думал, что
Причем, он предлагал "вьюшную" модель - если
Cтатическая типизация примитивных типов плюс
#ts #js #murych
JavaScript
нужно заменять полностью, но сейчас согласен с Мурычем - достаточно статической типизации примитивов.Причем, он предлагал "вьюшную" модель - если
Ref
инициализирован строкой, то и дальше в нем только строки. Так же с переменными по примитивным типам в JS
Cтатическая типизация примитивных типов плюс
ES
классы решат 95%+ всех проблем без извращений TS
#ts #js #murych
👍16👎1
Для синхронизации или передаче данных между разными вкладками можно использовать
Во
Но можно гораздо проще и эффективней - через Broadcast Channel API. C помощью него можно создавать канал, постить в него сообщения и слушать сообщения приходящие в этот канал.
Также
#js
LocalStorage
Во
Vue
можно даже сделать реактивную обертку.Но можно гораздо проще и эффективней - через Broadcast Channel API. C помощью него можно создавать канал, постить в него сообщения и слушать сообщения приходящие в этот канал.
// Создаем канал
const bc = new BroadcastChannel("share_channel");
// Посылаем сообщение в канал
bc.postMessage("Сообщение какое-то");
// Ловим событие в канале
bc.onmessage = (event) => {
console.log(event);
};
Также
postMessage
можно использовать для связи открытых окон ( login
) с родительским окном - window.opener.postMessage()
#js
MDN Web Docs
Broadcast Channel API - Web APIs | MDN
The Broadcast Channel API allows basic communication between browsing contexts (that is, windows, tabs, frames, or iframes) and workers on the same origin.
👍14