@JSlang

Страница 412 из 2237
Nikolay
26.11.2016
17:46:18
можно на es6

Собака вместо this тоже торт
торт было когда ты прям в списке аргументов мог присвоить свойства объектов

Дмитрий
26.11.2016
17:47:13
Новые строки в es6 это прям вообще кайф)

Теперь можно делать так

Google
Nikolay
26.11.2016
17:49:32
но нету типизации ?
для типизации есть flow

Кирилл
26.11.2016
17:51:20
но нету типизации ?
Тебе пока не нужна типизация

Oleg
26.11.2016
17:53:02
Не

Это про другое

Это про дефолтные значения аргументов

Nikolay
26.11.2016
17:53:50
там вроде было constructor(@property1, @property2)

@proDO смайлики трешь? ))

Oleg
26.11.2016
17:55:14
там вроде было constructor(@property1, @property2)
В итоге мы все подумали про 3 разных вещи ?

Дмитрий
26.11.2016
17:56:13
Во во))

Google
Дмитрий
26.11.2016
17:56:31
Ну кстати в параметры в js можно оочень дофига чего запихать))

function hyperSpread ( [ num , seed = Math.random() ] , { length = 11 , position = { x: x= num, y: y= num + length } }, count = [...(seed+'')].length ) { return [ x, length, position, seed, count ] } hyperSpread( [2016], { length:100 } ) //=> [ 2016, 100, { x: 2016, y: 2116 }, 0.743721348364818, 17]

@proDOT
26.11.2016
17:56:52
@proDO смайлики трешь? ))
Не я, я только недавно зашел

Nikolay
26.11.2016
17:57:13
тут короче пару смайликов пропало

штуки 4

Дмитрий
26.11.2016
17:57:24
В функции выше всё, кроме return - параметры

Oleg
26.11.2016
17:57:34
@proDOT
26.11.2016
17:58:46
тут короче пару смайликов пропало
Ну хуÑ с ними, а если стикеры, то еще лучше

Дмитрий
26.11.2016
17:59:17
Это уже какое-то метапрограммирование
Ну это я утрированный пример специально сделал) Но тем не менее, сильная штука выходит

Дмитрий
26.11.2016
17:59:54
Точно

Oleg
26.11.2016
17:59:54
Создавать их инстансы

Дмитрий
26.11.2016
18:00:20
Но это уже просто выражение, там всё равно, что объявлять, class expression или что-то ещё

Oleg
26.11.2016
18:00:36
Вот только ассинхронщину сложно

Потому что код функции не дождется результатов вызова параметров

Дмитрий
26.11.2016
18:01:12
Блин, async в переменных это жёстко))

Oleg
26.11.2016
18:01:42
Но можно добавть в параметр параметр, который будет вызываться через другой параметр вложенной функции внутри параметра параметра вложенной функции параметра

Дмитрий
26.11.2016
18:02:26
Callback hole

Какой-то

Google
Дмитрий
26.11.2016
18:02:55
Круче только class { async constructor() {} }

Oleg
26.11.2016
18:02:57
метапрограммирование сурово ?

Дмитрий
26.11.2016
18:03:19
До сих пор не пойму, почему мне это не дают сделать ??

Ещё

Oleg
26.11.2016
18:03:35
Это да

Nikolay
26.11.2016
18:03:37
на самом деле в es6 вот это прям иногда подумать заставляет param1 => param2 => param3 => param4 => (result)

Oleg
26.11.2016
18:03:40
Но почти

Дмитрий
26.11.2016
18:04:01
Oleg
26.11.2016
18:04:28
Удобно для асинхронных функций

Oleg
26.11.2016
18:04:53
Итого ты пишешь такую вот полоску, которая без стрелок была бы треугольником вложенным

Oleg
26.11.2016
18:05:27
Выполнение по асинхронным шагам

Oleg
26.11.2016
18:06:34
http://icompile.eladkarako.com/wp-content/uploads/2016/01/icompile.eladkarako.com_callback_hell.gif

Nikolay
26.11.2016
18:07:00
А, видел )

лесенки

Дмитрий
26.11.2016
18:07:53
Ну вот у меня половинка лесенки, и так ориентироваться на самом деле реально удобно, в отличии от "полной"

В ramda функциях так вообще постоянно такая запись

Google
Nikolay
26.11.2016
18:08:48
скоро до кложуры дело дойдет

Oleg
26.11.2016
18:09:41
Можно ещё писать в стиле минимума вложенности и если нужно вложение - делать отдельный метод, а результаты каждого шага, при необходимости, хранить в свойствах класса, итого - полное отсутствие треугольников/калбекхелов/пирамид_смерти/и_прочих

ООП решает вопрос треугольности

Admin
ERROR: S client not available

Oleg
26.11.2016
18:10:27
Впрочем, можно и без классов, функция с функциями

И в замыкании хранить

Но суть таже в принципе

Выносить шаги в стейт

Результаты шагов в смысле

Дмитрий
26.11.2016
18:12:40
Но почти
Метапрограммирование в js это например когда у тебя есть пустой объект {}, который внезапно поступает таким образом const meta = {} meta.prop //=> 'prop' meta //=> { prop: { name: 'prop', child: {} } } meta.prop.child.fn //=> ()=>'fn' meta //=> { prop: { name: 'prop', child: { fn:{ name:'fn',child:{} } } } И так до бесконечности ? Это странный пример, но реальное применение тоже есть)

скоро до кложуры дело дойдет
Да я уже вижу)) Реально такой стиль сам собой вырабатывается

Кирилл
26.11.2016
18:18:42
Ну что, нашли кто смайлики ворует?

Дмитрий
26.11.2016
18:19:41
Я говорю я сразу видел)

Сейчас не должны воровать)

?

Andrey
26.11.2016
20:24:09
А есть какие-то тулзы для анализа кода на поддержку в разных браузерах?

Evan
26.11.2016
20:26:01
https://habrahabr.ru/post/111748/

вторая ссылка из гугла

Andrey
26.11.2016
20:26:41
Это немного не то

Vladimir
26.11.2016
20:27:35
Google
Vladimir
26.11.2016
20:27:43
код или e2e

Andrey
26.11.2016
20:28:24
Входные данные - js код Выходные - результат списком/таблицей типо: fetch: поддерживается там-то и т.д.

Oleg
26.11.2016
20:30:03
caniuse

Andrey
26.11.2016
20:30:29
Ну вот я писал код или получил готовый, и хочу узнать, в каких браузерах он будет работать корректно(на основе используемых технологий, те же fetch, es6 и т.д.)

Oleg
26.11.2016
20:30:50
Там руками, увы

Andrey
26.11.2016
20:30:59
caniuse
Вот по типу этого, но с анализом всего кода, а не вбиванием отдельно

Andrey
26.11.2016
20:55:23
ты используешь бабель?
Да, но разные ситуации бывают)

Vladimir
26.11.2016
20:55:36
тогда следи за этим проектом https://github.com/babel/babel-preset-env

> Support a browsers option like autoprefixer вот эта строчка тебе нужна

Andrey
26.11.2016
20:56:34
Vladimir
26.11.2016
20:57:23
ну и смотри компат тейблы

http://kangax.github.io/compat-table/es6/

?Nadir
26.11.2016
20:58:45
Здесь JavaScript туса?

Страница 412 из 2237