From e41122c881f2ec34e61fbf622781df3e21127ea5 Mon Sep 17 00:00:00 2001 From: Dmitry Patsura Date: Sat, 24 Nov 2018 16:44:19 +0300 Subject: [PATCH] StaticObject to optimize super dynamic way that JS use --- proposal-template.md | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/proposal-template.md b/proposal-template.md index c928a70..86bc68c 100644 --- a/proposal-template.md +++ b/proposal-template.md @@ -1,11 +1,37 @@ -# ECMAScript proposal: @Name +# ECMAScript proposal: StaticObject to optimize + - [Motivation](#motivation) - [High-level API](#high-level-api) - [FAQ](#faq) ## Motivation -Proposal motivation +Обьект в JS настолько динамичен по своей природе что заставляет разработчиков браузеров делать всякие +hidden классесс и тд, но что если мы разрешим использовать динамический обьект так же по умолчаннию, но сделаем возможность +крутой оптимизации, но как? + +```js +class UserService extends StaticObject { + public a; +} +``` + +И когда кто-то попробует сделать: + +```js +const service = new UserService(); + +// JS скажет нет / спс +service.awesmefield = 5; +``` + +Пока я тут веселюсь с написание компилируемого TS (https://github.com/ovr/StaticScript), я понимаю что если компилировать JS +можно было бы точно круто оптимизировать, что в EXE/ELF/MACH-O, что в webassembly + +Мотивация: + +- Оптимизация +- Запрещение расширение объекта ## High-level API