Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Приватные свойства и методы в JavaScript (https://javascript.ru/forum/offtopic/64055-privatnye-svojjstva-i-metody-v-javascript.html)

ES6privates 18.07.2016 08:39

Приватные свойства и методы в JavaScript
 
Как вам идея? https://github.com/tc39/proposal-pri...elds/issues/36

Мы просто сделаем "приватные метки" которые будут иметь область видимости файла, и смогут применяться как имена свойств, к любым обьектам и выражениям внутри файла, а не только к this. Но при экспорте эти свойства будут недоступны, внешним скриптам.




Erolast 19.07.2016 07:12

Черт, я ж тебя защищать собирался... А ты опять свои выебоны начал.

Цитата:

Меня и на стак оверфлоу заминусовали, и тут заминусовали. Видимо люди не любят гениев и завидуют им ^^. Либо просто не в состоянии осознать всю эпичность и революционность этого решения.
Да потому что ты припёрся и под видом изобретения нам всем известный баян представил.
Это, к слову, одна из реализаций, которую рассматривают для введения синтаксиса приватных свойств. Вторая реализация - через WeakMap.

ES6privates 19.07.2016 07:16

Цитата:

Сообщение от Erolast
Да потому что ты припёрся и под видом изобретения нам всем известный баян представил.

Это не всем известный баян, это никому не известный способ. До этого люди вообще не додумывались так сделать и писали лишь протектед _свойства, а же предложил рабочее решение даже для es5

Цитата:

Сообщение от Erolast
А ты опять свои выебоны начал.

Я выебонами ЗАЩИТИЛ свою репутацию от минусов. Меня минусанули, унизили, я оправдался и дкоазал что я гений а минус не заслуженно. Я - изменился. Я первое сообщение написал прекрасно, потом какой то хуесос меня минусанул и я АДЕКВАТНО отреагировал.

Я ваще красавчик и вообще все правильно сделал и делаю.


При чем я же предложил кучу раз это реализовать в Кофескрипте еще года полтора назад на уровне сахара! Где меня аутисты банили доказывая что раз можно написать так obj[0.323223544545] и получить таки доступ к свойству, то оно видители не приватное.

То что сейчас люди начали это делать это все моя заслуга в том числе. Я видел только одного человека который в 2015 году, кроме меня, предлагал использовать символы и рандомные ключи для приватных. Это не баян. А паттерн о котором ни кто не знает. И которй Я, пытаюсь популяризировать и добавить к нему сахар.

Понял теперь? ЧТО ИМЕННО ТАКИЕ КАК Я и ПРИДУМЫВАЮТ ТАКИЕ ШТУКИ! И вот ты щас стал свидетелем КАК мы это делаем!


Учитывая что не все такие умные как я, я напишу прямым текстом: НЕ БЫЛО ТАКОГО ЧТО Я ТОЛЬКО ЧТО ДОДУМАЛСЯ ДО ЭТОГО И СРАЗУ НАПСИАЛ, я это юзаю уже года 1-2. И создаю об этом тикеты года 1-2

Так же я активно пытаюсь внедрить сахар для оборащения к статик свойствам.

чтобы писать не this.constructor.prop а static.prop внутри методов. так как если писать Class.prop то тогда статические свойства теряют возможность оверрайдится при наследовании.


this.#prop годный кстати сахар, впервые вижу такую идею, обычно все заменяли this на какой то значек.

Цитата:

Сообщение от Erolast
Вторая реализация - через WeakMap.

Он не нужен так как есть this, в котором надо хранить свойства. Когда удаляется ссылка на this удаляется и все с ней связаное. Семантика WeakMap уже заложена в this, и WeakMap это же вещь которую не эмулировать в ES5. Следовательно не пригоден для использования.

ES6privates 19.07.2016 07:48

Erolast, вот, создал еще два тикета
рас https://github.com/tc39/proposal-pri...elds/issues/34
двас https://github.com/tc39/proposal-pri...elds/issues/35

Erolast 19.07.2016 07:52

Цитата:

паттерн о котором ни кто не знает
Я знал.

Цитата:

Я выебонами ЗАЩИТИЛ свою репутацию от минусов
Какую еще репутацию? Нет у тебя никакой репутации. В положительном смысле, по крайней мере.

Цитата:

дкоазал что я гений
Кому доказал лол?

Цитата:

Я - изменился.
Ничуть. Все так же никого не уважаешь и считаешь себя самым умным.

Цитата:

я АДЕКВАТНО отреагировал
Нет, не адекватно.

Цитата:

Я ваще красавчик и вообще все правильно сделал и делаю.
Не нарывайся на пошлый ответ. Ну ты понял)

Цитата:

И которй Я, пытаюсь популяризировать и добавить к нему сахар.
Видимо, тщетно пытаешься, раз тебя все минусуют.
Вон на гитхабе пацаны тоже пытаюся, и их плюсуют почему-то. Не знаешь, почему?

Цитата:

Я видел только одного человека который в 2015 году
Ну, с ходу, статья из 2014 - http://2ality.com/2014/12/es6-symbol...l_propertie s.
Если покопаться в обсуждениях пропосала символов, уверен, можно найти еще более ранние предложения.
Или ты считаешь, что автор из твоего ломаного английского идею почерпнул?

Цитата:

this.#prop годный кстати сахар
Да неужели тебе хоть что-то понравилось.

ES6privates 19.07.2016 08:19

Цитата:

Сообщение от Erolast
Все так же никого не уважаешь и считаешь себя самым умным.

Всех уважаю, только если взаимно, и да, считаю себя одним из самых умнейших. Я думал ты говорил про оскорбления, типа я людей оскорбляю и не изменился и не перестал оскорблять. А то что я крайне умный человек это то зачем менять? Я и считаю так и являюсь им, лол).

Цитата:

Сообщение от Erolast
Да неужели тебе хоть что-то понравилось.

Ну не особо то и понравилось, я вон фикс предложил сразу) точка то тут избыточна, нужно либо точку либо решетку, для публичных аксессор точка, для приватных аксессор решетка:

The algorithm is:
1) The brain see this keyword
2) Brain understand that we now address to the context
3) If after this located dot, the brain realizes that we access to public property.
4) If after this located sharp, the brain realizes that we access to private property.

Цитата:

Сообщение от Erolast
Не знаешь, почему?

Их плюсуют потому что они не пишут в тикеты кофескрипта) в кофескрипте всех минусуют за такое и говорят что баян и сразу закрывают любые тикеты с упоминанием ES6 или слова privates )). В других обсуждениях меня тоже плюсуют, только вот вчера заминусовали какие то аутисты которые ДАЖЕ НЕ ПОНЯЛИ сути моего решения, они нубы и про символы то ничео не знают по этому и минусовали =) если обсужать среди знающих людей то всегда норм будет.

ES6privates 19.07.2016 08:24

Кстати я хот лоадер для вебпака сделал для юишки https://www.npmjs.com/package/ui-js-loader
а так же скоро туда добавлю прекомпиляцию шаблонов и стилей как в React. но эт так, оффтоп небольшой =) хвастаюсь прост. Самое сложное было сделать эмуляцию шадоу дом и шадоу стилей как в ангуляре втором, вот это да. Но даже они не смогли сделать чтобы директива итерации *for итерировала что либо, что попадает с <content></content> то оно там не итерировалось, а у меня ИТЕРИРУЕТСЯ) и более того работает даже <content selector=''></content>

ES6privates 19.07.2016 11:07

Голдите че может мой фреймворк https://www.youtube.com/watch?v=tmKMAfzR8Ow

И НЕ МОЖЕТ Angular 2 https://github.com/angular/angular/issues/10155

ES6privates 20.07.2016 03:10

Erolast, оо слушай ка там про что базар зашел, сделать короче просто свойства, которые если ты называешь через решеточку то они являются символыми. и видны в обалсти видимости класса. И их не только в this можно использовать а и например вот так


ES6privates 22.07.2016 12:33

Выбираем значок приватного аксессора))



Часовой пояс GMT +3, время: 10:38.