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