Size: a a a

2020 September 03

d

dynamic in pro.js
Алексей Колмогоров
И оптимизации можно будет тому же компилятору сделать.
Никаких оптимизаций по консту в жс, (если вдргу что, не делают). В жс даже так и не смогли запилить оптимизацию хвостовой рекурсии.
источник

d

dynamic in pro.js
Алексей Колмогоров
И количество ошибок будет меньше при разработке в теории.
Это все уровня - хочу чтобы IDE\компилятор\стат анализатор бил меня по рукам.
источник

d

dynamic in pro.js
Это не нужно тащить в рантайм. Это можно вынести на уровень линтеров.
источник

d

dynamic in pro.js
Даже с точки зрения оптимизаций компилятором.
источник

d

dynamic in pro.js
То, что переменная не меняет значения по ходу кода - и так видно из кода. Для этого не нужно ключевых слов.
источник

d

dynamic in pro.js
Алексей Колмогоров
И оптимизации можно будет тому же компилятору сделать.
Если присваивание в локальной области для идентификатора было строго одно - можно вывести что это тот самый конст, который есть.
источник

d

dynamic in pro.js
Только в оптимизации, как я уже говорил, это никак не используется.
источник

АК

Алексей Колмогоров... in pro.js
dynamic
Никаких оптимизаций по консту в жс, (если вдргу что, не делают). В жс даже так и не смогли запилить оптимизацию хвостовой рекурсии.
Я блог v8 иногда читаю. Там даже числа до определённого порога оптимизируются (SMI). Хидден классы те же и т.д. Мне кажется там должны быть оптимизации связанные с const (но точно сейчас не найду).
источник

АК

Алексей Колмогоров... in pro.js
dynamic
Только в оптимизации, как я уже говорил, это никак не используется.
Ок, посмотрю потом детальней.
источник

d

dynamic in pro.js
Точнее, это (например в v8) использовалось для примитивов при агрессивной jit-компиляции. Но это использовалось всегда, и без const.
источник

d

dynamic in pro.js
Constant folding
источник

d

dynamic in pro.js
И инлайн.
источник

d

dynamic in pro.js
Там где компилятор может вывести он выведет.
источник

d

dynamic in pro.js
Алексей Колмогоров
Я блог v8 иногда читаю. Там даже числа до определённого порога оптимизируются (SMI). Хидден классы те же и т.д. Мне кажется там должны быть оптимизации связанные с const (но точно сейчас не найду).
хидден классы вообще отношения к конст не имеют, там друоой  приницип.
источник

d

dynamic in pro.js
У тебя на любой объект {a, b} создается хидден класс, с полями а, б
источник

d

dynamic in pro.js
Если ты потом еще раз напишешь {a, b} тот зидден класс переиспользуется
источник

АК

Алексей Колмогоров... in pro.js
dynamic
хидден классы вообще отношения к конст не имеют, там друоой  приницип.
Да я это привёл к тому что если есть даже такие высокоуровневые оптимизации то почему не сделать более простые на низком уровне?
источник

d

dynamic in pro.js
Если ты напишешь {a,b,c} - появится новый хидден класс -наследуемый от первого, с новым полем
источник

d

dynamic in pro.js
Это строго отпимизация хэш таблиц.
источник

d

dynamic in pro.js
При чем это не работает когда ты делаешь вот так object['abc']
источник