@habrachat

Страница 6107 из 6731
Alexander
21.04.2018
03:11:22
В js массив - массив и не более

Все остальное реализуется объектами

Котяй Негодяй
21.04.2018
03:11:41
В js массив - массив и не более
Верно. Это правильно. Это список.

Alexander
21.04.2018
03:12:01
Я же говорил про объекты в понятиях ООП

Google
Котяй Негодяй
21.04.2018
03:12:11
Все остальное реализуется объектами
Если нужна хэш-таблица, юзаешь объект.

Есть Map

Есть Set.

Alexander
21.04.2018
03:12:32
Забудь про массивы. Ебашь интерфейсы.
Ты удивишься, но они довольно редко нужны

Почти никогда

Котяй Негодяй
21.04.2018
03:12:58
Ты удивишься, но они довольно редко нужны
Если ты не угараешь по строгой типизации, очевидно.

Alexander
21.04.2018
03:14:11
Если ты не угараешь по строгой типизации, очевидно.
Да, динамическая типизация - это бич PHP. Но не потому, что идея плоха, а потому, что дает нерадивым программерам слишком много воли

Сама по себе динамическая типизация очень удобна, если ее грамотно использовать

Котяй Негодяй
21.04.2018
03:14:56
Alexander
21.04.2018
03:15:17
Хотя в PHP можно и статикой ебашить

Котяй Негодяй
21.04.2018
03:15:19
Дело не в нерадивости, а в том, что ты просто человек.

Alexander
21.04.2018
03:15:24
Тоже никто не запрещает

Google
Котяй Негодяй
21.04.2018
03:16:01
Alexander
21.04.2018
03:16:03
Дело не в нерадивости, а в том, что ты просто человек.
Человеческий фактор должен быть сведен на нет еще на этапе проектирования

Котяй Негодяй
21.04.2018
03:16:54
Лишает
Строгая или статическая?

Ох...

Ладно.

Alexander
21.04.2018
03:18:47
Что вообще за статическая типизация, строгая, если уж ты в термины.

Котяй Негодяй
21.04.2018
03:18:48
Я так и не понял, как бы ты поступил с переменными окружения в ноде.

Алекс
21.04.2018
03:18:48
«Роскомпозор», «гей-бар» и «психдиспансер». Пользователи массово меняют названия Роскомнадзора в Google Maps: kod.ru/polzovatieli-nachali-izdievatsia-nad-roskomnadzorom-v-google-maps/

Alexander
21.04.2018
03:19:42
Я так и не понял, как бы ты поступил с переменными окружения в ноде.
Так же как и в PHP, вывел бы их в глобальную область видимости

Это быстро, удобно, не затратно

Котяй Негодяй
21.04.2018
03:24:10
Так же как и в PHP, вывел бы их в глобальную область видимости
Ну, ты же понимаешь, что это вкусовщина. А в JS, внезапно, в глобал скоуп в принципе срать не принято. Ничто не мешало сделать так в ноде. И этому отвели определённое место из вполне определённых соображений. То, что в пыхе окружение валится в глобал-скоуп, — не значит, что это правильно. Чисто в теории это может привести к коллизиям имён переменных окружения и локальных.

Это быстро, удобно, не затратно
Насколько затратнее обращаться к свойству объекта?

> То, что в пыхе окружение валится в глобал-скоуп, — не значит, что это правильно. Ну и щас бы пыху ставить в пример как эталон архитектуры. =)

Валить окружение в глобал скоуп — это поведение на уровне баш-скриптов, так-то.

Alexander
21.04.2018
03:29:38
Тогда поясни, почему это не правильно?

Я свою позицию пояснил

Котяй Негодяй
21.04.2018
03:34:37
Тогда поясни, почему это не правильно?
Ещё раз — это вкусовщина. Тем не менее, я вижу в этом недостаток — риск возможных коллизий имён переменных. Тем более что в пых всё плохо с явностью, когда речь идёт о подключаемых файлах. Т.е. моя конструктивная позиции состоит в том, что расположение переменных в специально отведённом объекте не является недостатком. Субъективно я вижу недостаток в глобальном енвайрменте, и, более того, в ноде я бы сделал этот объект подключаемым, как, например, встроенный модуль для работы с ФС (его нужно явно подключить).

Google
Котяй Негодяй
21.04.2018
03:36:22
Т.е. я в принципе за то, чтобы оставить в глобал скоупе только функцию require. Но это параноидальная позиция, да.

Alexander
21.04.2018
03:36:26
Я лишь не против суперглобалов

require использовать ни в коем случае нельзя

Котяй Негодяй
21.04.2018
03:37:08
> Я против объявления глобальных переменных > Я лишь не против суперглобалов Эмм... Чё?

Alexander
21.04.2018
03:37:09
Только require_once

Котяй Негодяй
21.04.2018
03:37:21
Котяй Негодяй
21.04.2018
03:37:36
Это то, что я бы сделал в ноде.

Alexander
21.04.2018
03:38:52
Есть ряд суперглобальных переменных. $_SERVER, $_REQUEST, $_GET, $_POST.. и т.д.

Они нужные и удобные

Котяй Негодяй
21.04.2018
03:39:25
Ксати, странно — я не вижу тебя в чатике: @phpGeeks. Возможно, будет полезно. Это весьма сильное сообщество.

Alexander
21.04.2018
03:39:45
Так же, ты можешь сам вывести любую переменную в глобальную область видимости

Alexander
21.04.2018
03:40:18
Так вот, инструкция global - это не БРО)))

Так делать не кошерно

Котяй Негодяй
21.04.2018
03:40:39
А тперь смотри.

Вот жс файл: const blablabla = 'value' export function getBlabla() { return blablabla } Переменная blablabla не лежит в глобале. Как и getBlabla, впрочем. Тем не менее, ты можешь контролировать доступ к ним снаружи. Инкапсуляция, да, @wizlab? =)

Google
Котяй Негодяй
21.04.2018
03:44:40
Доступна только getBlabla. И то, только в том случае, если ты импортируешь этот файл в другом файле.

Но если у меня будет переменная окружения blablabla, то это приведёт к коллизии.

И единственный правильный выход — определить энвайрмент в отдельное место.

Alexander
21.04.2018
03:46:31
Вот тут, на мой взгляд и заключается одна из путаниц с переменными (в твоем случае константа) в JS

К примеру

Котяй Негодяй
21.04.2018
03:49:03
В чём же заключается путаница? =)

Alexander
21.04.2018
03:49:21
var tatata = 1; function tata(){ var tatata = 2; return tatata; } console.log(tata());

Котяй Негодяй
21.04.2018
03:51:10
var tatata = 1; function tata(){ var tatata = 2; return tatata; } console.log(tata());
Ровно то же самое можно сделать и в пыхе, так-то. =)

Alexander
21.04.2018
03:51:11
Если внутри объявить переменную, то он ее перепишет.. внутри снаружи все останется так же. А если не объявить, то ты будешь общаться с глобальной.

Нет)

Admin
ERROR: S client not available

Alexander
21.04.2018
03:51:47
В php области видимости четко разграничены

Котяй Негодяй
21.04.2018
03:52:08
Лексическая область видимости — это нормально.

Тогда заодно и расту выдай пропиздонов. =)

Alexander
21.04.2018
03:52:48
Если ты явно не указал, что переменная глобальная (чего, как я говорил, делать не стоит) то хрен ты где ее увидишь кроме своей области видимости

Там можно явно указывать хочешь ты ее глобальной делать, али нет

Котяй Негодяй
21.04.2018
03:54:00
Если ты явно не указал, что переменная глобальная (чего, как я говорил, делать не стоит) то хрен ты где ее увидишь кроме своей области видимости
Это ж сколько страданий ради одного замыкания. Сколько боли нужно, чтобы на пыхе функцию каррировать? =)

Там можно явно указывать хочешь ты ее глобальной делать, али нет
В замыканиях нет речи про глобальность. Есть речь про лексическую область видимости. Как в случае с растом, так и в жс — равнозначно.

Google
Котяй Негодяй
21.04.2018
03:57:14
const setProp = name => value => obj => ({ ...obj, [name]: value }) Вот тсколько гоморроя нужно, чтобы функцию каррировать на пыхе? =)

Ээм.. зачем?
Точно. Нафиг надо. =)

Alexander
21.04.2018
03:58:25
Точно. Нафиг надо. =)
Если ты пояснишь, что этот код делает, я тебе скажу, как то же самое на PHP сделать)

Без вот этого вот невнятного геморроя

Котяй Негодяй
21.04.2018
04:02:07
Если ты пояснишь, что этот код делает, я тебе скажу, как то же самое на PHP сделать)
Да я итак знаю, как это на пыхе делать. Лучше бы не знал. Это каррированная функция ,которая принимает параметры: name, value, obj. Она устанавливает объекту obj свойство name со значением value.

Возвращает новый объект, конечно же.

Что такое каррирование, я думаю, ты знаешь.

Alexander
21.04.2018
04:03:53
0_o

Котяй Негодяй
21.04.2018
04:04:00
Если что, это важно.

Alexander
21.04.2018
04:04:43
Ээм... да, но за 14 лет работы не приходилось так извращаться

П - проектирование

)

Котяй Негодяй
21.04.2018
04:06:28
Ээм... да, но за 14 лет работы не приходилось так извращаться
Возможно, именно опыт мешает критическому мышлениею при восприятии чего-то нового. Это довольно распространённая проблема.

Alexander
21.04.2018
04:06:53
В таком случае приведи простой реальный пример, где это необходимо

Котяй Негодяй
21.04.2018
04:08:01
П - проектирование
У тебя это вызывает усмешку, т.к. ты сделал вывод быстрее, чем подумал. Это называется стереотип. Именно так он и работает. Это когнитивная ловушка.

Alexander
21.04.2018
04:08:36
Блин... я тут ни чьи чувства не поцарапал?)

Ой, это целая концепция же.
Ну блин, простой пример, где это неизбежно

На пальцах

Котяй Негодяй
21.04.2018
04:10:28
Ну блин, простой пример, где это неизбежно
Что такое композиция функций объяснять надо?

Страница 6107 из 6731