170 похожих чатов

Ну вы еще составьте тесты для {} + [] +

[{}]. А потом топите, как это можно не знать !?

40 ответов

24 просмотра

Ну а это тут причём?

Давайте не путать простые примеры с хрен пойми чем

ну-ка без подсказок скажи результат или джун

Да. Сам то не знает ответ))

ymdev- Автор вопроса

да упаси боже такое знать

@js_noobs_ru

ymdev- Автор вопроса

Тебе это никогда не пригодится. Собственно как и знание о том, что будет если число сложить со строкой и т.д. Делаешь явные приведения типов, либо вообще используешь typescript и никогда проблем не возникнет.

зануда-моуд: тайпскрипт это одна большая проблема хотя он и полезный в ряде случаев И даже часто с ним лучше, чем без него.

ymdev- Автор вопроса

просто потому что им надо уметь пользоваться? Да, есть много коряво-типизированных библиотек, но это уже проблемы не ts.

уметь пользоваться это основная проблема — то есть люди часто слишком полагаются на эти проверки, а в рантайме-то их нет и им внезапно прилетает нетипизированный жсон, а о проверке в рантайме они не подумали но он ещё и сам кривой, что тоже довольно неприятно

Отсутствие проверки в рантайме - это скорее проблема программиста, а не тайпскрипта.

а без тайпскрипта они бы о проверке жсона подумали бы?

Я наблюдал, что использование тайпскрипта часто понижает бдительность в этом отношении и даёт ложное ощущение того, что типы известны. Когда они в рантайме могут быть неизвестны. Если не налепить везде рантайм проверок.

Истина

это тебя здесь за флуд банили?

Так я же по факту ответил

это проблема тайпскрипта или же недостатки обучения?

ymdev- Автор вопроса

Ну если у тебя все на ts, то эти провери действительно не нужны. Но это если мы не трогаем входящие данные из вне, там действительно надо проверять все и в хвост и в гриву. А все внутренние данные вполне можно не проверять в рантайме

> Ну если у тебя все на ts, то эти провери действительно не нужны Вооот. Это ошибка, которая часто встречается. Нужны. Потому что входные данные. А ещё не всегда всё на тс, и если у нас либа — её могут юзать из жс.

runtime? Бегущее время?

ты только половину сообщения прочитал? )

Я апдейтнул.

так он написал тоже самое. проверки нужны только для входных данных

Да, но входные данные есть всегда. В каком-то виде.

в смысле никогда не пригодится? а сейчас в чате не пригодилось бы что ли? короче, джун

а вообще на самом деле интересное поведение у штуки справа. Сначала она, по видимому, в сочетании со стрингом преобразуется в объект {}, а затем объект сам преобразуется в стринг и получается забавный результат. Надо будет покопать почему массив с объектом внутри приводится к просто объекту, в то время как пустой массив приводится к пустой строке

а зачем копать? никто такой код не пишет

чисто для спортивного интереса

ymdev- Автор вопроса

даже не пытайся понять, что там происходит) Потому что есть такое https://github.com/aemkei/jsfuck И оно работает (с божьей помощью)

я писала недавно компиль брейнфака в джс. Брейнфак на самом деле логичнее большинства языков

Дело в том что {} в зависимости от положения может интерпретироваться и как объект и как пустой блок кода.

кароче я поняла, массив тупо выкидывает все что в нем есть, а затем все это добро интерпретируется как стринг. Те [{}] выдаст просто {}, ну и так далее. Веселые приключения в мире логики джс

весело)

"undefined" [ 0] // "u" [ "undefined" ][ 0][ 0] // "u" [ undefined +[] ][+[]][+[]] // "u" [ [][+[]] +[] ][+[]][+[]] // "u"

ахах оч похоже на объявление декларации смарт-контракта у меня на rust проекте)) без допинга не разобраться))

1. 0 индекс строки = u 2. 0 индекс массива = строка, 0 индекс строки = u 3. строка + [] = строка, вот это выражение '+[]' дает 0, дальше все как выше 4. '[][+[]] +[]' - а вот почему это дает "undefined" надо разобраться, спасибо)

4. тут расписаны все эти трюки, если не хочется самой ) https://github.com/aemkei/jsfuck

а, все гораздо проще, мы берем из пустого массива нулевой элемент, это нам дает андефайнд и мы тупо склеиваем андефайнд с пустой строкой, ну и получаем строку. Дальше как я уже выше писала Вполне логично)

наоборот самой интереснее

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта