Везде и давно говорят о ES2015, хоть на дворе уже 2017 год, ещё есть люди не знакомые с этим стандартом. ES2015 принёс много нового в мир JavaScript, что-то подхватилось моментально, что-то продолжает оставаться в тени. Все мы любим использовать модульный подход ES6, стрелочные функции, let и const, promises, классы, от деструктуризации многие пришли в восторг. Реже упоминается о новом типе Symbol, генераторах, Map, Set, WeakMap, WeakSet, и много чего ещё. Читать дальше →
Найти значительное узкое место в производительности стандартной библиотеки или зрелого приложения — это редкость. Я был удивлён, когда в top10 списке CPU-профиля hugo при сборке digitalgov.gov на первой позиции находился метод reflect.Type.MethodByName(). flat flat% sum% cum cum% 8.84s 6.28% 6.28% 57.85s 41.10% reflect.(*rtype).MethodByName…
Бенедикт Мейрер из мюнхенского офиса Google занимается вопросами оптимизации JavaScript. В этом материале он рассказывает об особенностях реализации и функционирования Object.prototype.toString() в движке V8. В частности, речь пойдёт о том, почему эта конструкция важна, о том, как она изменилась с появлением символов ES2015, и о подходе к оптимизации, который предложили инженеры из Mozilla, приведшем к примерно шестикратному увеличению производительности toString() в V8. Читать дальше →
Большинство веб-разработчиков, с которыми я общаюсь сейчас, любят писать JavaScript со всеми новейшими функциями языка — async/await, классами, стрелочными функциями и т.д. Однако, несмотря на то, что все современные браузеры могут исполнять код ES2015+ и изначально поддерживают упомянутый…