Опасные комментарии

А знаете ли вы, что в Chrome есть специальные служебные комментарии для управления потоком V8 ?

К примеру, есть потенциально опасный код вида:

for (let i=16e6; i<17e6; i++) console.log(i);

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

Chrome постарается не выполнять потенциально опасный код, чтобы браузер “не повесился”. Но если вдруг, в вашем потенциально опасном коде браузер видит комментарий вида //noprotect — то хром решит что вы понимаете что делаете и специально пометили ваш код как разрешенный к исполнению:

//noprotect
for
(let i=16000000; i<17000010; i++) console.log(i);

Не советую проверять, но все же если интересно — этот код с таким комментарием должен повесить ваш браузер, так как цикл будет бесконечным (проверял в Chrome78 через JSBin).

Отсюда выходит, что безобидный комментарий, написанный дабы кого-то предупредить может оказаться управляющим (помните такие комментарии в IE были для HTML ?). И вот вопрос, сколько еще может быть секретов в браузере, которые просто невозможно знать в силу избытка информации. Читать спеки, запоминать, учиться и учиться…