
Алексей
17.07.2017
13:26:22

Сергей
17.07.2017
13:26:27

Sergey
17.07.2017
13:26:28

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

Google

Adam
17.07.2017
13:26:32

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

Сергей
17.07.2017
13:26:44

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

Andrew
17.07.2017
13:27:01

Сергей
17.07.2017
13:27:05

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

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

Артемий
17.07.2017
13:27:33

Алексей
17.07.2017
13:27:45

Сергей
17.07.2017
13:28:02

Adam
17.07.2017
13:28:09

Сергей
17.07.2017
13:28:17

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:30:46

Алексей
17.07.2017
13:31:01

Сергей
17.07.2017
13:31:11

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

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

Сергей
17.07.2017
13:31:52

Sergey
17.07.2017
13:32:04

Алексей
17.07.2017
13:32:07

Сергей
17.07.2017
13:32:28

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

Google

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

Dreamerinnoise
17.07.2017
13:33:03

Артемий
17.07.2017
13:33:26

Сергей
17.07.2017
13:33:26

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

Adam
17.07.2017
13:34:01

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

Aleh
17.07.2017
13:34:27

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

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

Aleh
17.07.2017
13:35:47

Алексей
17.07.2017
13:36:10

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

Алексей
17.07.2017
13:37:00

Сергей
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:11

Dreamerinnoise
17.07.2017
13:38:19

Сергей
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

Aleh
17.07.2017
13:39:21

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

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

Aleh
17.07.2017
13:39:29

Сергей
17.07.2017
13:39:37

Алексей
17.07.2017
13:39:47

Sergey
17.07.2017
13:39:56

Сергей
17.07.2017
13:40:26

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

Adam
17.07.2017
13:41:34

Default
17.07.2017
13:41:39

Aleh
17.07.2017
13:41:55

Сергей
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
может быть утка курицей или нет?
Конечно, если утка реализует интерфейс курицы, то это утка
И вообще почему одна и та же сущность не может быть разными вещами в различных обстоятельствах?

Сергей
17.07.2017
13:43:31

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

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

Алексей
17.07.2017
13:43:51

Сергей
17.07.2017
13:43:54
нет сеттеров/геттеров
нет классов
типажи рулят

Aleh
17.07.2017
13:44:30