Ахаха мемы по жаваскрипту наканецта!!!!!
Надо читать документацию, и что именно проверяет in. JS есть, за что ругать, но не тогда, когда мемодел ленится читать документацию, и гадает исходя лишь из названия метода.
Точнее даже не так. Человек явно знает, что делает in, ведь он выбрал именно цифру 4 для проверки, а не 1, 2 или 3. Так что ещё и вводит в заблуждение людей, которые не знают, что делает in, вызывая у них убеждение, что язык работает неправильно.
in может делать что угодно по документации.
интуитивно начинающий дев очевидно подумает одно, создаст баг, проебется над ним сутки, а потом загуглив будет изливать эмоции.
как бы шутка не на ровном месте появилась. я прогер (не JS) со стажем и то прихуел и полез проверять в консоль
интуитивно начинающий дев очевидно подумает одно, создаст баг, проебется над ним сутки, а потом загуглив будет изливать эмоции.
как бы шутка не на ровном месте появилась. я прогер (не JS) со стажем и то прихуел и полез проверять в консоль
У интуитивно начинающего дэва, в таком случае, будет ещё множество тупняков, которые можно было бы предотвратить, изучив документацию. Причём, в любом языке.
Я тоже не на JS программирую, но прихуеть не прихуел, а сразу предположил, что дело, скорее всего, в ключах, раз такой результат. И полез не проверять в консоль, а гуглить метод in в JS.
Я тоже не на JS программирую, но прихуеть не прихуел, а сразу предположил, что дело, скорее всего, в ключах, раз такой результат. И полез не проверять в консоль, а гуглить метод in в JS.
ну в этом случае мне достаточно было консоли чтобы понять в чем дело.
красивые конечно слова, но всех джунов ты не проконтролишь. я больше чем убежден что даже читая документацию легко упустить или забыть подобное если до этого не пользовался часто функцией.
когда джун что-то такое накодит, разбираться с проблемой приходится сеньорам и лидам.
подобный баг может легко пройти тесты и появиться только на проде.
а ты потом сиди и гадай где проблема, если локально не воспроизводится.
тут при определенных данных 1 случая из n будет ошибка и в n-1 случаях будет неверное поведение.
локализовать такое сложно
а все потому, что некоторые мега умники считают, что лучше документация это священный грааль. документация без нормального опыта использования это примерно ничего.
я бы на подобную функцию как минимум поставил бы ворнинг на стат анилизе кода.
красивые конечно слова, но всех джунов ты не проконтролишь. я больше чем убежден что даже читая документацию легко упустить или забыть подобное если до этого не пользовался часто функцией.
когда джун что-то такое накодит, разбираться с проблемой приходится сеньорам и лидам.
подобный баг может легко пройти тесты и появиться только на проде.
а ты потом сиди и гадай где проблема, если локально не воспроизводится.
тут при определенных данных 1 случая из n будет ошибка и в n-1 случаях будет неверное поведение.
локализовать такое сложно
а все потому, что некоторые мега умники считают, что лучше документация это священный грааль. документация без нормального опыта использования это примерно ничего.
я бы на подобную функцию как минимум поставил бы ворнинг на стат анилизе кода.
Намешал ты всего в кучу что-то. И джуны, и тесты, и проды, и проблемы, и ворнинги. Не уверен, что всё это тут относится к делу, мы же просто *личные* подходы обсуждаем, использовать ли документацию (или в целом гугл) или кодить интуитивно.
>а все потому, что некоторые мега умники считают, что лучше документация
Как-то логика покинула чат. То есть, джуны криво кодят, потому что некоторые умники считают, что документацию надо читать? Шо?
Конечно, опыт очень важен, но документашка в большинстве случаев отсекает лишние тупняки и вопросы Не всегда, конечно, но всё же. Не просто же так её пишут.
>а все потому, что некоторые мега умники считают, что лучше документация
Как-то логика покинула чат. То есть, джуны криво кодят, потому что некоторые умники считают, что документацию надо читать? Шо?
Конечно, опыт очень важен, но документашка в большинстве случаев отсекает лишние тупняки и вопросы Не всегда, конечно, но всё же. Не просто же так её пишут.
не стоит вопрос использовать документацию или нет. документацию так или иначе любой норм прогер прочтет рано или поздно.
я говорю о том, что документация не помогает избежать подобного рода багов (даже сеньорам).
и тут на лицо ошибка дизайна языка программирования, которая сильно важнее ошибки условного джуна.
ЗЫ
> интуитивно начинающий дев очевидно подумает ...
прошу прощения, эту фразу можно прочесть двояко
тут подразумелось следущее: начинающий дев интуитивно подумает ...
я говорю о том, что документация не помогает избежать подобного рода багов (даже сеньорам).
и тут на лицо ошибка дизайна языка программирования, которая сильно важнее ошибки условного джуна.
ЗЫ
> интуитивно начинающий дев очевидно подумает ...
прошу прощения, эту фразу можно прочесть двояко
тут подразумелось следущее: начинающий дев интуитивно подумает ...
Потому джун один на сеньора. И потому юзают тайпскрипт. И потому есть код ревью. А эта ситуация возникает, когда люди работают на похуе
>даже читая документацию легко упустить или забыть подобное
Как это можно пропустить или забыть?
1. Оператор in проверяет существование ключа. Тут нечего пропускать, некуда ставить ворнингов, негде путаться. Можно, конечно, забыть про существование такого оператора (наверное) - но ты в любом случае, когда забываешь что делает оператор, не выдумываешь его поведение из головы, считая что чем ты сильнее будешь верить - тем лучше оно будет работать. Не выдумываешь ведь?
2. Ключи объектов - это либо строки, либо симболы. Это вообще база, данный факт - он буквально войдет в любой ответ на вопрос "Что такое джава-скрипт?" длиннее 10 минут. Так что с этой стороны тоже никаких вопросов и недопониманий ни у кого возникнуть не должно.
Как это можно пропустить или забыть?
1. Оператор in проверяет существование ключа. Тут нечего пропускать, некуда ставить ворнингов, негде путаться. Можно, конечно, забыть про существование такого оператора (наверное) - но ты в любом случае, когда забываешь что делает оператор, не выдумываешь его поведение из головы, считая что чем ты сильнее будешь верить - тем лучше оно будет работать. Не выдумываешь ведь?
2. Ключи объектов - это либо строки, либо симболы. Это вообще база, данный факт - он буквально войдет в любой ответ на вопрос "Что такое джава-скрипт?" длиннее 10 минут. Так что с этой стороны тоже никаких вопросов и недопониманий ни у кого возникнуть не должно.
ты наверное когда был джуном, прочитав кучу документации помнил все все. а что не помнил то на каждый пук лез в документацию. еще и комменты к каждому методу наверное читаешь. а то хрен знает, вдруг там неожиданная логика, не смотря на то, что название метода говорит совершенно другое.
я хз откуда такая наивность. видимо ты программист-гигачад. никогда не расчитываешь на то что код делает то что в нем написано. всегда проверяешь документацию.
когда подрастешь и начнешь писать на разных языках - поймешь о чем я говорю.
я хз откуда такая наивность. видимо ты программист-гигачад. никогда не расчитываешь на то что код делает то что в нем написано. всегда проверяешь документацию.
когда подрастешь и начнешь писать на разных языках - поймешь о чем я говорю.
Нельзя интуитивно начинать. Так делают только те, из кого потом вырастают ритуалодебилы вместо программистов.
>интуитивно начинающий дев очевидно подумает одно, создаст баг, проебется над ним сутки, а потом загуглив будет изливать эмоции.
Я тоже прогер (не JS) со стажем (но бывает и его трогать приходится) - и не понимаю, от чего там охуевать и что там начинающему деву может быть непонятно. Что ином чекают ключи и что ключи - это строки и все кастуется в них - это буквально на второй день изучения js изучается и тут даже ничего запоминать не нужно.
Я тоже прогер (не JS) со стажем (но бывает и его трогать приходится) - и не понимаю, от чего там охуевать и что там начинающему деву может быть непонятно. Что ином чекают ключи и что ключи - это строки и все кастуется в них - это буквально на второй день изучения js изучается и тут даже ничего запоминать не нужно.
давай скажи мне что любой JS дев выше мидла никогда не обосрется и не допустит эту ошибку. с удовольствие послушаю такие сказки.
ЗЫ
я видел когда сеньоры делали ошибки аналогичные этой. причем матерые сеньоры.
хотя я хз. если писать только интернет магазины то, наверное, да - какие уж там ошибки.
нахуй вообще писать читаемый код. давайте обфусцированный код писать. а нему несколько томов документации.
ЗЫ
я видел когда сеньоры делали ошибки аналогичные этой. причем матерые сеньоры.
хотя я хз. если писать только интернет магазины то, наверное, да - какие уж там ошибки.
нахуй вообще писать читаемый код. давайте обфусцированный код писать. а нему несколько томов документации.
>давай скажи мне что любой JS дев выше мидла никогда не обосрется и не допустит эту ошибку
ЛЮБОЙ JS дев, вне зависимости от его низости или высокости, хоть джун, хоть стажер - никогда не обосрется и не допустит эту ошибку.
>я видел когда сеньоры делали ошибки аналогичные этой
Может, они не были js сеньорами? Потому что, повторюсь, тут негде делать ошибок. Имя, конечно, не лучшее у оператора, но в посте он работает логичным образом с вещами, которые являются самыми основами языка.
ЛЮБОЙ JS дев, вне зависимости от его низости или высокости, хоть джун, хоть стажер - никогда не обосрется и не допустит эту ошибку.
>я видел когда сеньоры делали ошибки аналогичные этой
Может, они не были js сеньорами? Потому что, повторюсь, тут негде делать ошибок. Имя, конечно, не лучшее у оператора, но в посте он работает логичным образом с вещами, которые являются самыми основами языка.
Давай, скажи мне, что любой JS дев выше мидла никогда не обосрется в чем-то другом. Или что ошибок бы не было, если бы всем спустили с небес божественный яп вместо четвертого шариата. Или что твои проекты держатся на отсутствии ошибок, а не на мерах по их исправлению. У тебя не логическое мышление, и это корень проблемы. Ты апеллируешь к чему-то, даже не сравнивая, просто накидываешь несвязной тревоги в тред. С таким мышлением надо продавцом работать, ведь скидки скоро закончатся.
Вау, в js массив - это объект. А из объекта значения берутся по ключу. Будут ли приколы_для_жертв_скиллбокса?
вообще то in проверяет, есть ли ключ, а не значение в объекте. под капотом этот массив l является объектом
{"0": 1, "1": 2, "2": 3, "3": 4}. я с лету не помню, может ли ключ быть числом или только строкой, а при вызове по численному ключу (например l[0])срабатывает приведене типа number к string, но это особо и не важно.
так что мем не валиден, особенно когда есть куча встроенных веселостей
{"0": 1, "1": 2, "2": 3, "3": 4}. я с лету не помню, может ли ключ быть числом или только строкой, а при вызове по численному ключу (например l[0])срабатывает приведене типа number к string, но это особо и не важно.
так что мем не валиден, особенно когда есть куча встроенных веселостей
Сначала хотел выебнуться и сказать, что это контор интуитивное поведение оператора. Но потом понял, что если объект словарь то и питон ведёт себя точно также. Значит единственый контринтуитивный момент здесь то, что джс по тихому преврощает список в словарь, но всё равно хули (ну и то что при сравнении он не видит разницу между строкой и числом). Мем валиден.
Единственный контринтуитивный момент здесь это то что надо как-то приебаться к js. А если такая же фича (или похожая) находится в другом языке - то "ну и в джи-эс значит это норм, но зато другой хуйни полно".
Друзья, есть только два типа ЯП: те, которые все ненавидят, и те, на которых никто не пишет.
Друзья, есть только два типа ЯП: те, которые все ненавидят, и те, на которых никто не пишет.
хз, ни к яве, ни к шарпу, ни к бидону, ни к го нет такого вагона претензий - все они широко распространены (хотя да, они тоже не идеальны)
я даже не могу сказать, что js менее ебанутый, чем php
я даже не могу сказать, что js менее ебанутый, чем php
Под капотом там как раз нормальный массив, но интерфейс к нему выглядит как объект.
Я понимаю, что RTFM, но почему документация JS напоминает правила драконьего покера, где значения карт зависят от дня недели, количества и расположения игроков, прогноза погоды за окном и т.п.?
Как бы да, но не совсем. У PHP куча всего вытянуто напрямую из С или Perl, и порядок аргументов какой попало в функциях самого ядра и т.п. (не думаю что за годы что-то поменялось). В Lua, Matlab, R - массивы начинаются с 1. И отлов неточных результатов может превратится в долгое приключение даже если ты прекрасно знаешь документацию и сама документация хороша. Wrong by Design.
И в чём проблема? В даном массиве ключ "0" это "1".
Чтобы написать коммент, необходимо залогиниться