@typescript_ru

Страница 285 из 669
Сергей
17.07.2017
13:26:27
в название свойства...
Я БЛЯДЬ ДАЖЕ НЕ ПРЕДПОЛАГАЮ ЧТО ТАМ МОЖЕТ БЫТЬ ЧТО_ТО КРОМЕ ПРИСВАИВАНИЯ?

Ivan
17.07.2017
13:26:32
нет, понимать надо какие ленивые вычисления используются в той или иной либе

Google
Adam
17.07.2017
13:26:32
для разных либ это очень удобный функционал, для практического применения в проекте вне либы как по мне сомнительный. Можешь привести пример, чем это так удобно?
инкапсуляция реализуется в рамках класса через аксессоры. Аксессоры - это методы get set. Иногда первый называют аксессором, второй - мутатором. Там можно провести дополнительную проверку (кроме типа) - проверку значения на принадлежность диапазона (x > 0 && x < 3 ), а в случае, если нужно будет повемять условия, интерфейс метода не изменится и код менять везде будет не нужно

Max
17.07.2017
13:26:39
явное лучше неявного

Сергей
17.07.2017
13:26:44
проблема либы, а не языка
Поэтому в еслинты встраивают правила для не использования плохих частей языка

Ivan
17.07.2017
13:26:45
прокси-объекты вот много где есть

Ivan
17.07.2017
13:27:25
если не использовать, то привет джаве - getProp and setProp

Сергей
17.07.2017
13:27:33
значит надо предполагать :)
ВОТ ИМЕННО! У меня там 10 присваиваний которые ничего не делают кроме присваивания В каком блядь из них что-то происходит?

Алексей
17.07.2017
13:27:45
А можно просто не использовать
а ещё можно всё на ассемблере писать, вот там уж всё настолько явно, насколько это вообще вохможно

Сергей
17.07.2017
13:28:02
а ещё можно всё на ассемблере писать, вот там уж всё настолько явно, насколько это вообще вохможно
Есть нормальные средства языка Нахера усложнять код для его пользователей?!

Adam
17.07.2017
13:28:09
Google
Ivan
17.07.2017
13:28:24
"реально полезно" бывает разным. Если нужно писать энтерпрайз-код то это вон в к джавистам

и то там есть конвеншны на всякие xml-ники и dependency injection который мозги свернет

getter/setter между прочим одна из основ Kotlin

Adam
17.07.2017
13:29:23
ты можешь вернуть не массив значений, инкапсулированных в классе, например, а Object.frezee(arr)

Алексей
17.07.2017
13:29:36
Есть нормальные средства языка Нахера усложнять код для его пользователей?!
ничего себе усложнение, вам синтаксис упростили, дали новые возможности, вохможности которые позволяют делать то, что без них было просто невозможным

Ivan
17.07.2017
13:29:37
jetbrains предпочли добавить их, а построже сделать в других местах.

Алексей
17.07.2017
13:29:52
а вы ещё возмущаетесь, что JS - это не Java

andretshurotshka?❄️кде
17.07.2017
13:30:09
а computed properties типизировать нельзя?

Артемий
17.07.2017
13:30:22
например mobx, вроде крутая либа которую я люблю, но сколько гемора там из-за того что все observable и computed построенны на get/set, для передачи куда-то переменной нельзя просто ее передать, а надо всегда как-то боксить ее, иначе передашь только текущее значение а не observable, плюс в самом mobx из-за этого костыли, типа observable.map из-за того что для пропертей незадефайненных сначала getter не работает и отследить его не получается

Adam
17.07.2017
13:30:42
можешь сделать свойство readonly, объявив только геттер

Сергей
17.07.2017
13:31:11
УЖОС ТО КАКОЙ
Блядь ты спецом весь тред проигнорил?

Default
17.07.2017
13:31:31
Сова, завязывай, тебя уже троллить начали

Adam
17.07.2017
13:31:40
геттер и сеттер - это не что-то, что нужно обсуждать, это одна из основ ооп вообще. Их нельзя не использовать. Для публичных полей всего пара кейсов есть в ооп

Алексей
17.07.2017
13:32:07
ЭТО НЕЯВНЫЕ ВОЗМОЖНОСТИ Это переопределение оператора присваивания!
нет, оператор присвавания - это оператор присваивания и ничего более, const a = b; никаких неявные штуки не делает

Алексей
17.07.2017
13:32:39
никакой перегрузки оператора присваивания нет, а a.b = 1; - это уже другая конструкция

Google
Ivan
17.07.2017
13:32:50
с помощью пропертей самый толстый use-case это вынос каких-то полей на верх

*на верхнюю сущность

Артемий
17.07.2017
13:33:26
геттер и сеттер - это не что-то, что нужно обсуждать, это одна из основ ооп вообще. Их нельзя не использовать. Для публичных полей всего пара кейсов есть в ооп
ты путаешь подход в общем и конкретные реализации в языке. В js можно сделать и так и так, ООП от этого никак не постродает

Ivan
17.07.2017
13:33:40
обзёрваблы это совсем уже крутое использование get/set

Ivan
17.07.2017
13:34:01
для тех кто не боиться :) базовое это шорткаты и dirty-флаги

и computed , да

Сергей
17.07.2017
13:34:59
геттеры/сеттеры это как и ООП идея а реализация может быть любой не надо сюда тащить нативные из жс в жс так-то и классов нет и инкапсуляции тоже нет

Adam
17.07.2017
13:35:20
Можно статический геттер замутить: Vector.Zero - возвращает new Vector(0, 0)

Сергей
17.07.2017
13:36:25
сахар над функцией != класс

Алексей
17.07.2017
13:37:00
Класс который function ага
детали реализации, оставленные для обратной совместимости

Сергей
17.07.2017
13:37:13
Adam
17.07.2017
13:37:15
сахар над функцией != класс
хорошо, а что по-твоему класс?

Артемий
17.07.2017
13:37:25
Чего там надо боксить, чтобы обзервабл передался?
Например class A { @observable name = 'A' render () { return <B name={this.name} /> // Передаст по значению и будет ререндерить A при каждом изменении name } } class A { @observable person = { name : 'A' } render () { return <B person={this.person} /> // Тут A уже не будет зависить от name, и при изменении будет только B перерендериться. } }

Google
Сергей
17.07.2017
13:37:27
хорошо, а что по-твоему класс?
открой руби и сравни, что есть класс, а что функция или плюсы

Aleh
17.07.2017
13:37:32
сахар над функцией != класс
Что такое класс вообще сложный вопрос, изначально это была просто картинка объекта работающая в компайлтайме, а теперь это все, что угодно

Алексей
17.07.2017
13:37:44
сахар над функцией != класс
он выглядит как класс, плавает как класс, крякает как класс, значит это класс

Сергей
17.07.2017
13:38:20
может быть утка курицей или нет?

Алексей
17.07.2017
13:38:23
только вот он и как функция тоже
и то что это функция не исключает того, что это класс

Sergey
17.07.2017
13:38:36
только метод класса не должен терять this, а вот метод es6 класса очень даже может

Сергей
17.07.2017
13:38:38
и то что это функция не исключает того, что это класс
только вот ООП очень даже различает эти понятния

Admin
ERROR: S client not available

Алексей
17.07.2017
13:39:23
иначе можно сказать, что в каком-нибудь питоне или C++ любой класс и объект, который перегружает () перестаёт быть классом/объектом

Артемий
17.07.2017
13:39:26
Это было же вроде описано в best practices
только это следствие того что все построенно на геттерах сеттерах, если бы это были функции как в том же кнокауте, то зависимость появлялось бы только при явном вызове name() а не при передаче name

Сергей
17.07.2017
13:39:37
Да?
лол

Алексей
17.07.2017
13:39:47
только вот он и как функция тоже
и объект, так как функция в JS - это тоже объект

Sergey
17.07.2017
13:39:56
Хз, откуда инфа, что "не должен"?
ну тогда нахуй вообще существуют нестатические методы?

Сергей
17.07.2017
13:40:26
иначе можно сказать, что в каком-нибудь питоне или C++ любой класс и объект, который перегружает () перестаёт быть классом/объектом
в плюсах, функция не становится классом класс с перегруженным () не становится функцией, хотя может мимикрировать

Default
17.07.2017
13:40:42
ну тогда нахуй вообще существуют нестатические методы?
Кстати, знатный косячина, вытекающий именно из прототипов

Google
Алексей
17.07.2017
13:40:43
Aleh
17.07.2017
13:41:14
лол
Класс вообще не очень удачная в нынешнее время идея

Dreamerinnoise
17.07.2017
13:41:21
Можно лишь только принять

Сергей
17.07.2017
13:41:32
Сергей
17.07.2017
13:42:47
Aleh
17.07.2017
13:42:51
тренды ФП не меняют принципов ООП
Ну, фп вообще перпендикулярное ооп нечто

Сергей
17.07.2017
13:42:53
вспомни Objective-C

Алексей
17.07.2017
13:43:15
может быть утка курицей или нет?
Конечно, если утка реализует интерфейс курицы, то это утка И вообще почему одна и та же сущность не может быть разными вещами в различных обстоятельствах?

Aleh
17.07.2017
13:43:32
Чойта вдруг?
Слишком сильно ограничивают наши возможности, вон сколько всего хорошего без них в расте

Сергей
17.07.2017
13:43:44
вот да

раст

гуд

Алексей
17.07.2017
13:43:51
понятно.
Буква L в S. O. L. I. D.

Сергей
17.07.2017
13:43:54
нет сеттеров/геттеров

нет классов

типажи рулят

Aleh
17.07.2017
13:44:30
Буква L в S. O. L. I. D.
Ну вообще ты так как раз ломаешь принцип подстановки

Страница 285 из 669