Операторы (и частые ловушки)

Операторы (и частые ловушки)

Арифметика и сравнение

  • / для целых — целочисленное деление: 5/2 == 2.

  • Остаток % следует знаку делимого.

  • Для float/double сравнения используйте эпсилон (погрешность), а не ==.

  • Переполнение целых — без исключений (wrap-around). Будьте внимательны.

Присваивания и унарные

+= -= *= /= %= ++ -- — помните разницу префикс/постфикс.

Логические

&& и || — короткое замыкание (right-side может не вычислиться). &/| для логики без короткого замыкания и для побитовых операций на целых типах.

Побитовые (на int/long)

~ & | ^ << >> >>> — у >>> (беззнаковый сдвиг) заполняются нулями слева.

Автор: к.п.н., Румянцев Сергей Александрович, доцент Финансового университета при Правительстве РФ; доцент ОЧУВО Международного инновационного университета; Консалтинг, управление разработкой ПО; системный и бизнес анализ; менеджмент; аналитиз данных; управление ИТ. Телефон для связи +79269444818 (мессенджеры)   Короткая ссылка:

Операторы (и частые ловушки)

Арифметика и сравнение

  • / для целых — целочисленное деление: 5/2 == 2.

  • Остаток % следует знаку делимого.

  • Для float/double сравнения используйте эпсилон (погрешность), а не ==.

  • Переполнение целых — без исключений (wrap-around). Будьте внимательны.

Присваивания и унарные

+= -= *= /= %= ++ -- — помните разницу префикс/постфикс.

Логические

&& и || — короткое замыкание (right-side может не вычислиться). &/| для логики без короткого замыкания и для побитовых операций на целых типах.

Побитовые (на int/long)

~ & | ^ << >> >>> — у >>> (беззнаковый сдвиг) заполняются нулями слева.

https://webprogr.ru/~LKMVS
Короткая ссылка на новость:https://webprogr.ru/~LKMVS


// Пример кода
function hello(name) {
  console.log(`Hi, ${name}!`);
}
hello("Sergey");

Последние новости

Рейтинг@Mail.ru