As For JS
3.37K subscribers
144 photos
16 videos
4 files
453 links
As For JavaScript...
Обсуждения — @AsForJsTalks
Download Telegram
15-00 По Киеву

Я был в бешенстве от теста на Head Hunter, что заставило меня поковырять их код поглубже.
В результате выше нас только звезды.

Посмотрим до какого разгильдяйства доходят разработчики. И как этим можно воспользоваться в своих целях.

https://www.youtube.com/watch?v=CxD9xy_NmFQ
🤣25🔥7👍3😁1
Не зря я твой дом труба шатал

Мне показали уже три видео от сторонних авторов, которые вопят о производительности var/let/const

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

Вот пример видео.
Какие ошибки в тесте автора вы видите?


https://youtu.be/gUi5_WVsPFQ
😁18👀3
Хочу поделиться радостью.

Один из наших соратников, обнаружил проблему в v8 с отслеживанием elements-transition, которую на официалном уровне признали багом и пообещали устранить.

Вославим ВанДама!
🔥79👍8❤‍🔥5🤣3👌2😎2
Повод поломать мозги над тем, почему null єто Primitive Value которое связано с Object у которого нулевая/неопределенная структура.

Вспомните все что Вы слышали - про ошибку из за которой null это Object, прочие рассуждения...
И задайте себе вопрос - какой единственный тип мы можем использовать в случае определения прототипа?
А потом вспомните, что Вы можете передать в
Object.setPrototypeOf( {}, {} ); // Ok
Object.setPrototypeOf( {}, null ); // Ok
Object.setPrototypeOf( {}, undefined ); // throw
Object.setPrototypeOf( {}, 'aaa' ); // throw
// etc...
🔥91👍1
6-30 по Киеву.
Для тех кому нечего делать, новая задача из цикла: try to hack my JavaScript.

Задача найти магическое слово, спрятанное в одной из функций.

Вопрос не в том, чтобы сообщить слово, но в том, чтобы рассказать - КАК его удалось найти.

https://www.youtube.com/watch?v=FeLs8aJF2wk
🔥15
Друзья, если среди Вас есть те, кто не догоняет что такое прототипное наследование - напишите мне лично.

Мне очень важно поставить над вами аморальный єксперимент.

Конфединциальность, для тех кто выживет, гарантирую.
😁35🤣13👍1
Трансляция снова переносится.
Я все еще не все.
🙏36💔52👍1🔥1🕊1🐳1
Что будет выведено в консоль при выполнении этого кода
(
()=>{
"use strict";

const p1 = Promise.reject("Murych boh");
const runPromise = async () => {
await Promise.all([p1]);
return "Hmurych";
}
runPromise()
.then( (res)=>console.log("res: ", res))
.catch((rej)=>console.log("rej: ", rej));

}

)();


обьясните почему
👀63🤯3🐳1
Про var/let/const в module ECMAScript и особенности поведения связанные с Global Enviroment.

Декларация имен идентификаторов, с использованием variable statement имеет одну неприятную особенность, связанную с выполнением в Global Enviroment. А именно это приводит к дополнительным издержкам для обеспечения двунаправленной связи между идентификатором и Global Object, когда изменение данного связанного с Property в Global Object, должно быть так же отражено в аналогичной связи идентификатора ( декларируемого при помощи variable statement)

Подобное поведение, имеет издержки настолько значимые, что рекомендовано как можно меньше использовать любых выражений ECMAScript, связанных с этим поведением:

//Global Enviroment

function() {};
var doThing = ()=>{};
new Function('a', 'a+1');

Подобных особенностей поведения в Global Environment лишены let/const declaration.


Поведение же для Module Environment, что для variable statement, что для let/const declaration ничем не отличается.


Вместо ИГОГО:
Использование var или function или Function для Global Enviroment - стоит дополнительных издержек. И этого нужно избегать.
Использование let/const для Global Environment, напротив их лишены.

Использование var function Function let const в Module Environment ничем не отличаются.

Важная ремарка:
Речь идет о использовании идентификатора в том окружении где он был декларирован.
Ранее заявленные проблемы с производительностью let/const в условиях их использования за пределами места их декларации, никуда не делись и остаются теми же и для module environment.
17👍6