JavaScript and pain

Я от этой книжки в 27 лет ощутил тоже самое.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Михаил Темняков", "author_type": "self", "tags": [], "comments": 41, "likes": 138, "favorites": 24, "is_advertisement": false, "subsite_label": "kek", "id": 105712, "is_wide": true, "is_ugc": true, "date": "Sat, 22 Feb 2020 13:36:34 +0300", "is_special": false }
0
41 комментарий
Популярные
По порядку
Написать комментарий...
43

'1'+2='12';
2+'1'=3;

Ответить
18

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

Ответить
20

Как-то мне резко расхотелось выучить какой-нибудь язык программирования

Ответить
0

Не бойся. На самом деле это не страшно. Скачай Сололерн, там все нормально объяснят.

Ответить
0

Зря, они веселые.

Ответить
–3

Форточку открой

Ответить
16

Да это-то фигня, здесь хотя бы сразу логика понятна: операция приводит оба операнда к типу данных первого.

Вот поинтереснее:

Ответить
8

Да это жёстко. Новичкам от такого сносит крышу, они пытаются запомнить все эти «особенности», которые есть в любом ЯП. А потом на практике выясняется что ни один человек в здравом уме так не пишет и вся эта дичь представляет лишь академический интерес.

Так что можно спать спокойно на работе вы с таким сталкиваться не будете. А если вдруг столкнётесь то можете смело на законных основания пиздить человека по голове за такой код.

Ответить
2

Либо изнасиловать.. В любом случае изнасилование куда приятнее) 

Ответить
0

Не могу представить, что кто-то в здравом уме до сих пор использует двойное равно, вместо тройного

Ответить
0

Что из этого сравнивает по значению, а что по ссылке?

Ответить
0

Двойное равно сравнивает параметры по значению и приводит их в один тип данных. Тройное равно сравнивает значения без приведения типов. Поэтому, когда есть условное ("0"==false) JavaScript вернёт true, что по идее не должно было быть. С тройным равно такой демагогии нет.

Ответить
3

https://habr.com/ru/company/ruvds/blog/337732/ есть монументальный разбор этой хуйни)

Ответить
0

То есть действительно прикол в том, что оператор >= работает как !< ? Я, в общем-то, догадывался, что прикол именно в этом, но в душе надеялся, что у JS найдётся более оригинальное оправдание

Ответить
0

Ты пытаешь к строке прибавить число? Ок, язык преобразовывает число в строку и складывает

Ты пытаешься к числу прибавить строку? Ок, язык преобразовывает строку в число и складывает.

Ответить

Прежний Кирилл

26
Ответить
12

Java и JavaScript это разные вещи

Ответить
7

так Java или JavaScript?

Ответить
9

Скрин одного из самых популярных курсов на Stepik)

Ответить
0

Это сильно)

Ответить
0

Просто жабаскрипт - это джава без кофеина )

Ответить
3

В комментариях старье одно постят. Вот самый современный JS. Это уже работает в Chrome и Firefox  nullish coalescing и optional chaining.

 ?? ? ? ? ? ? ? ?

Ответить
1

Не прошло и пяти лет как с синтаксиса нормальных языков перетащили )

Ответить
0

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

Ответить
0

Дело привычки, уверяю тебя.

Ответить

Посторонний Валера

3
Ответить
2

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

Ответить
2

Странно, обычно в разделе для айтишников я нахожу учебники по word и excel.

Ответить
1

И это тоже. А ещё учебники по использованию Виндой и интернетом. И книги про хакинг.

Ответить
3

Не, ну там есть еще хорошие книги - Танненбаум, например ;)

Ответить
0

Есть, но мало достойной литературы по IT. Но тут лучше заказывать через интернет. В книжном сейчас делать нечего.

Ответить
0

Это я пишу на PHP.

Ответить
1

Сочувствую

Ответить
0

Отчего же? Современный пых отличная штуковина, если уметь готовить.

Ответить
0

у тебя аж Р одна отвалилась(

Ответить

Прямой эфир

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }