@js_ru
JavaScript — русскоговорящее сообщество

Рекомендуем сразу отключить уведомления Правила: http://bit.ly/our_etiquette См. также: @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

3006 members

Архив канала @js_ru 3 февраля 2017 г.

09:39:40 ДП
User 322142
Привет всем. Философский вопрос, что за стиль программирования такой когда все все функции лежат в константах? Не раз встречал, я видимо не в трендах, это модно-молодежно чтоль?)
09:40:56 ДП
User 124442878
ахаха ха ха
09:43:35 ДП
User 122550876
User 322142
Привет всем. Философский вопрос, что за стиль программирования такой когда все все функции лежат в константах? Не раз встречал, я видимо не в трендах, это модно-молодежно чтоль?)
Я вообще не очень понимаю, зачем функции в переменные суют.
09:46:56 ДП
User 68304221
User 322142
Привет всем. Философский вопрос, что за стиль программирования такой когда все все функции лежат в константах? Не раз встречал, я видимо не в трендах, это модно-молодежно чтоль?)
ИМХО, если используется что-то вроде Ramda для композиции функций, то это можно объяснить желанием сохранить консистентность кода (когда и свои функции-примитивы объявляются через константу, и результаты вызова композиционной библиотеки).
09:53:21 ДП
User 76662447
User 122550876
Я вообще не очень понимаю, зачем функции в переменные суют.
А в function зачем?
09:54:42 ДП
User 322142
User 68304221
ИМХО, если используется что-то вроде Ramda для композиции функций, то это можно объяснить желанием сохранить консистентность кода (когда и свои функции-примитивы объявляются через константу, и результаты вызова композиционной библиотеки).
Ну вот я встречал это в разных либах, в том числе без каких-либо зависимостей. Я предполагаю что это для это  делают для определения иммутабельной природы функций, но че-то семантики в этом никакой)
09:55:02 ДП
User 269579856
Why? Function declarations are hoisted, which means that it’s easy - too easy - to reference the function before it is defined in the file. This harms readability and maintainability. (c) airbnb
09:55:53 ДП
User 122550876
User 76662447
А в function зачем?
Ну какбэ объявление function foo () {} семантически верное, а var foo = function () {} это странное использование возможности языка создавать анонимные функции с целью… какой? Прост, азаза?
09:56:31 ДП
User 76662447
const func = () => {}
09:56:38 ДП
User 76662447
Зачем function то)
09:58:07 ДП
User 322142
ну это вопрос синтаксиса) суть от этого не меняется)
09:58:21 ДП
User 122550876
User 76662447
Зачем function то)
Как будто большая разница
09:58:24 ДП
User 76662447
Меняется
09:59:27 ДП
User 122550876
User 76662447
Меняется
Если это делается чтобы у тебя именно стрелочная была и кудась её по имени передавать — другое дело, но я не про этот случай, а вообще про обычное именование
09:59:41 ДП
User 76662447
Нет лишних проблем с this, короче и яснее синтаксис, возможность писать без return
09:59:48 ДП
User 122550876
Безусловно
10:08:35 ДП
User 322142
Хорошо, лямбда и this, это понятно. Но чем обоснован такой стиль по сравнение например с написанием обычного класса?
10:11:00 ДП
User 322142
Я почему спросил) вот например: https://github.com/paularmstrong/normalizr/blob/master/src/index.js Я как бы не против, просто не могу понять смысл.
github.com/paularmstrong/normalizr/blob/master/src/index.js
normalizr - Normalizes nested JSON according to a schema
10:12:03 ДП
User 76662447
Зачем тебе класс, когда просто нужна функция?)
10:12:14 ДП
User 76662447
Да, я именно так и пишу, как щдесь)
10:12:31 ДП
User 76662447
Про это же и говорил
10:14:58 ДП
User 322142
User 76662447
Зачем тебе класс, когда просто нужна функция?)
А зачем вообще классы нужны?) Безотносительно того что в js это сахар)
10:36:52 ДП
User 174174176
ппл, вот есть, к примеру, normalizr, который из {articles: [{id: 1, body: 'aaa', comments: [{id: 1, comment: 'bbb'}]}]} создаёт нормализованное представление, вынося comments на уровень выше и создавая мап. и вот раньше у меня был доступ data.articles.comments[0], после normalizr он стал data.comments[data.articles.comments[0]]. есть ли способ обращаться к данным "как было"? типа value(data, 'articles.comments', 0), чтобы доступ шёл по нормализованному представлению но в виде "как было раньше"?
10:38:15 ДП
User 174174176
т е как нормализр может обращаться с данными я понимаю. но доступ к ним в итоге меняется согласно схеме
10:44:59 ДП
User 215655868
Странная схема
10:45:27 ДП
User 174174176
фактически из примера
10:45:47 ДП
User 174174176
https://github.com/paularmstrong/normalizr/tree/master/examples/relationships
github.com/paularmstrong/normalizr/tree/master/examples/relationships
normalizr - Normalizes nested JSON according to a schema
10:47:27 ДП
User 174174176
мой вопрос не в схеме, а в доступе.
10:47:48 ДП
User 174174176
нормализованные данные мне автоматом от сервера придут
10:48:22 ДП
User 215655868
А что с доступом не так?
10:48:54 ДП
User 174174176
из иерархического он становится громоздким и неудобным
10:49:03 ДП
User 68520717
@ZeroBias йоу
10:49:32 ДП
User 68520717
можно написать прокси который бы дефолтил билт-ин примитивы к стандарту?
10:49:53 ДП
User 68520717
чтобы быть увереным, что твой не будет сломан другим прокси?
10:51:50 ДП
User 76662447
Первое можно) А вот второе вряд ли
10:52:30 ДП
User 76662447
У прокси композиция как фича, самый последний вроде всё равно будет иметь преимущество
10:54:42 ДП
User 76662447
Но при условии, что объект — константа, прокси повесить уже не получится)
10:58:17 ДП
User 68520717
первый прокси может навесить другой прокси на билт-ин-ы который будет отменять любые изменения от следующих прокси?
11:07:21 ДП
User 76662447
Прокси — это функция потипу mapStateToProps какого-нибудь, только управляет не просто полями, а вообще всеми свойствами объекта. Любой вложенный объект бессилен против того, что прокси на get вообще не будет лезть в объект, это нельзя обойти
11:09:43 ДП
User 76662447
Только при объявлении с const мы можем рассчитывать, что конкретно с этим объектом прокси уже ничего не сделают
12:00:19 ПП
User 174174176
ппл, есть такой же канал, но по css?
02:23:37 ПП
03:11:32 ПП
User 62169189
Тачпад на макбуках никак не генерирует touch-события в сафари?