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

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

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

40 ответов

10 просмотров

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

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

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

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

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

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

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

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
11
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
9
Всем здравствуйте!) У меня такой вопрос. Есть два роута, роут1 и роут2. Они связаны с очередью some_queue. По задаче предполагается, что есть два паблиша. Паблиш1 отправляет...
Format
10
это группа токсиков или тех кто помогает?
Ибрагим
9
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
У кого-нибудь есть под рукой функция кодирования юникода, которая из фразы На русском сделает \u041d\u0430\u0020\u0440\u0443\u0441\u0441\u043a\u043e\u043c ?
Daniil Smolyakov
7
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Карта сайта