let a = 6, b = 5; if (a => b) { console.log('a is equal to or greater than b');> let a = 6, b / it-юмор :: программист :: мем :: Unsettled Tom :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek Unsettled Tom мем программист 

 let a = 6, b = 5; if (a => b) { console.log('a is equal to or greater than b'); > let a = 6, b = 5; if (a => b) { console.log('a is ' >,it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,Unsettled Tom,мем,программист


Подробнее
 let a = 6, b = 5; if (a => b) { console.log('a is equal to or greater than b'); > let a = 6, b = 5; if (a => b) { console.log('a is ' >
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,Unsettled Tom,мем,программист
Еще на тему
Развернуть
Я ловил моменты, когда условие всё-таки нувыпоняли.
Один раз это был злобный вирус, влезший в код.
Другой - хватило логики компилятора.
че это новая спецификация джаваскрипта вышла?

Вот по этому очень много людей не долюбливает динамические языки. Нужно пипец как следить за тем что и куда пишешь. Не то чтобы Java или C# намертво застрахованы от такой фигни, но шансов поменьше.

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

Строгая типизация не позволит засунуть в if что-то кроме bool. Хотя вспоминая универ, тот же C++ вроде как разрешает подсунуть int. На C# уже только bool, или иди нафиг. Страхует от кучи случаев, кроме сравнения двух буленых переменных. Там уже можно написать лажу в духе if(a = b) и долго вдуплять что не так (радует что современные IDE таки намекнут, при условии что разраб обращает внимание на варнинги).

Если смотреть чуть более шире, то тот факт что всегда нужно соблюдать тип данных, позволяет избегать неверную интерпретацию данных и банальные опечатки. Я бы сравнил это с защитой от дурака, когда разъем чисто физически не подходит и не позволяет воткнуть себя неправильно. Из минусов -- постоянный мапинг данных, явное приведение и кучу другой монотонщины.

Объясните, а что не так? Код сработает же? Да, может выглядит не совсем правильно и стоило написать как ">=", но и так в целом всё понятно.

Да, чел на скрине немного объедался с написанием:

expression < expression
expression > expression
expression <= expression
expression >= expression

Вместо сравнения чисел объявлена стрелочная функция

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

Выражение a => b, аналогичен автовызову (function (a) {return b})(a)

Выражение a => b, аналогично объявлению function (a) {return b}, но никак не автовызову

Ты правильно говоришь, но я про другую часть синтаксиса:

(function(a) {...})(a)

= function(a) {...}

+ (безымянная функция)(аргументы)

И сокращение именно про это

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

Тренды

Похожие посты
ЧЕРЧИЛЛЬ ЛЕНИН КУРИЛ НЕ КУРИТ УМЕР ВСЕГДА ЖИВОЙ НЕ KWIL
подробнее»

политота,Приколы про политику и политиков Бред курение

ЧЕРЧИЛЛЬ ЛЕНИН КУРИЛ НЕ КУРИТ УМЕР ВСЕГДА ЖИВОЙ НЕ KWIL