@nodejs_ru

Страница 290 из 2748
マイク
20.10.2016
11:23:50
Типа :symbol

Иначе просто неудобно

Дмитрий
20.10.2016
11:24:06
Типа :symbol
Ты же говорил нормальную

Ҫѐҏӗѫӑ
20.10.2016
11:24:08
ок Object.getOwnPropertySymbols

Google
Ҫѐҏӗѫӑ
20.10.2016
11:24:21
и все ваши приватные св-ва тут

Vladimir
20.10.2016
11:24:22
Их юзают, когда нужно добавить свойство объекту, но боятся коллизий

Ҫѐҏӗѫӑ
20.10.2016
11:24:24
бида

Дмитрий
20.10.2016
11:24:30
Это свойство можно получить только специально постаравшись

Vladimir
20.10.2016
11:24:34
никто не говорит, что они приватные

Дмитрий
20.10.2016
11:25:03
Это защита от дурака а не от настырного самоубийцы

Джон
20.10.2016
11:25:14
Их юзают, когда нужно добавить свойство объекту, но боятся коллизий
то есть в объект можно добавить сколько хош свойств с одинаковыми названиями, грубо говоря?

Ҫѐҏӗѫӑ
20.10.2016
11:25:19
дуракам в код не надо вообще

Джон
20.10.2016
11:25:21
Это то, что они дают?

マイク
20.10.2016
11:25:21
Не работайте с дураками

Google
Vladimir
20.10.2016
11:25:23
они не более приватные чем non enumerable

Джон
20.10.2016
11:26:01
Да
и как их одинаковых потом доставать оттуда?

Дмитрий
20.10.2016
11:26:14
Каждый уникален

У тебя есть ссылка на него

Джон
20.10.2016
11:27:07
У тебя есть ссылка на него
а можно простенький примерчик?

Ҫѐҏӗѫӑ
20.10.2016
11:28:29
приватность такая приватность

Дмитрий
20.10.2016
11:29:03
Да все, все , ты молодец

Vladimir
20.10.2016
11:29:07
ща покажу как побороть getOwnPropertySymbols

Ҫѐҏӗѫӑ
20.10.2016
11:29:19
его можно и без символов побороть

символы с приватностью никак не помогают

и они не для того

Vladimir
20.10.2016
11:30:09
ладно, не буду показывать

Ҫѐҏӗѫӑ
20.10.2016
11:31:11
они для toStringTag, toPrimitive и тд

метапрограммирование

Vladimir
20.10.2016
11:31:41
Причем здесь метапрограммирование?

KlonD90
20.10.2016
11:31:42
Атомы для консистетности же. Метапрограммирование это скорее декораторы

Vladimir
20.10.2016
11:31:47
Это просто интерфейсы

Ҫѐҏӗѫӑ
20.10.2016
11:31:50
просто механизмы, которые нужны для этого тоже заэкспозили

это не интерфейсы

Google
Aleh
20.10.2016
11:32:06
приватность норм на викмап

Vladimir
20.10.2016
11:32:11
Можно было сделать это просто строками, как toJSON

Aleh
20.10.2016
11:32:16
и приватную мапу около класса держать)

Vladimir
20.10.2016
11:32:21
или toString

Дмитрий
20.10.2016
11:32:23
а можно простенький примерчик?
_mark = Symbol('mark') function mark (o){ o [_mark] = 'mark' return o } print (o){return o [_mark] ? o [_mark] : 'no mark'} let obj =mark({}) print(obj) //=>'mark'

Ҫѐҏӗѫӑ
20.10.2016
11:32:24
просто valueOf и тд были ошибкой

Vladimir
20.10.2016
11:32:25
или valueOf

Ҫѐҏӗѫӑ
20.10.2016
11:32:49
это норм имя для метода

почему я должен терять при этом что-то нативное?

надо это обойти

как? символами

toPrimitive, toStringTag

Vladimir
20.10.2016
11:33:52
да нет, просто сейчас уже небезопасно это делать строкамии за обратной совместимости

точно также как и небезопасно добавлять новые поля на прототипы

особенно на Object.prototype

Ҫѐҏӗѫӑ
20.10.2016
11:36:07
так я и говорю

переопределил и попал

Ҫѐҏӗѫӑ
20.10.2016
11:40:24
в этом примере символы не нужны

символы оверрейтед

Google
Джон
20.10.2016
11:42:08
Дмитрий
20.10.2016
11:42:16
Хорошо, пиши без них

Джон
20.10.2016
11:42:17
премер

Дмитрий
20.10.2016
11:42:29
Никто не заставляет

Джон
20.10.2016
11:42:47
так интересует ситуация, где без них никак

Ҫѐҏӗѫӑ
20.10.2016
11:43:03
да. что-то не так?

Джон
20.10.2016
11:43:03
а не тот, где их можно вставить, а можно и без них

Admin
ERROR: S client not available

[Anonymous]
20.10.2016
11:43:16
да. что-то не так?
ассоциации

Джон
20.10.2016
11:43:33
?

pornhub

Дмитрий
20.10.2016
11:44:38
И куча менее известных мета-символов

Джон
20.10.2016
11:45:43
я наверное еще не дорос до такого

Vladimir
20.10.2016
11:45:45
Вот питону пох

__iter__

И все

Джон
20.10.2016
11:45:51
маленький еще для символов

Vladimir
20.10.2016
11:46:27
Так что концепутально Symbol(str) это '__' + str + '__')

Google
Ҫѐҏӗѫӑ
20.10.2016
11:46:30
питон не лучший пример языка по сравнению даже с жс

Vladimir
20.10.2016
11:46:39
Да понятно

В нормальных языках нет таких проблем

Там для этого есть трейты

Дмитрий
20.10.2016
11:47:31
я наверное еще не дорос до такого
https://www.keithcirkel.co.uk/metaprogramming-in-es6-symbols/ Всё не так сложно)

[Anonymous]
20.10.2016
11:48:04
что такое метапрограммирование в жс? eval?

マイク
20.10.2016
11:50:28
for (var prop in obj)

[Anonymous]
20.10.2016
11:51:25
помню задачу, когда нужно чтобы программа показала сама свой код, полностью

Vladimir
20.10.2016
11:51:46
quine

Дмитрий
20.10.2016
11:52:22
for (var prop in obj)
Вторая попытка

Джон
20.10.2016
11:52:42
тут понятно про скрытый слой свойств

теперь осталось понять как его можно использовать

マイク
20.10.2016
11:52:55
Ҫѐҏӗѫӑ
20.10.2016
11:55:41
теперь осталось понять как его можно использовать
как большинство. типы экшнов в редаксе бгг

(это несмешная шутка)

((но это правда))

про бабель говорили и спеки. вчера в гиттере Швайка настаивал, что асинки в v8 5.4 работают правильнее, чем оные в бабеле

Dreamerinnoise
20.10.2016
12:19:32
Что за гиттер?

Vladimir
20.10.2016
12:19:50
Чем правильнее?

Страница 290 из 2748