Перейти к основному содержимому

Числа

@serverSerrverlesskiy

В современном JavaScript существует два 2️⃣ типа чисел:

number

Обычные числа в JavaScript хранятся в 64-битном формате IEEE-754, который также называют «числа с плавающей точкой двойной точности» (double precision floating point numbers). Это числа, которые мы будем использовать чаще всего. Целые числа не рассматриваются как отдельный тип чисел. В дополнение к числам с плавающей запятой, к числовому типу данных относятся также три символьные величины: Infinity, -Infinity, и NaN (не-число).

Numbers

Видео

bigInt

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

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

Вы можете использовать четыре типа числовых литералов: десятичный, двоичный, восьмеричный и шестнадцатеричный. Так как три последних используются довольно редко, то мы опустим их детальное описание , ну а любопытные могут познакомиться с ними здесь.

предупреждение

Будьте внимательны при использование нулей в начале чисел! Значит не надо ставить ноль перед десятичным числом.

1234567890
42

0888 // 888 обрабатывается как десятичное
0777 // обрабатывается как восьмеричное в нестрогой форме (511 в десятичной)

Арифметические действия

Arithmetic operation

По двум или нескольким целым числам можно составить новое целое число. Способов составлять новое целое число очень много. Способ составлять новое число по двум или нескольким числам называется арифметическим действием. Вообще арифметических действий много, но основных только четыре: сложение, вычитание, умножение и деление. Они названы основными, ибо все остальные действия приводятся к ним.

Знак плюс + используется для выражения сложения: 4 + 4 Ответ: 8

Минус для вычитания: 7 - 6 Ответ: 1

Звёздочкой * изображается умножение: 3 * 4 Ответ: 12

Прямым слэшем / деление: 15 / 5 Ответ: 3

Если в строке совершается более одного действия, то, чтобы отделить их друг от друга, а также сделать код более читабельным, мы пользуемся — (скобками). Давайте наберём следующие предложения в консоли. Ответ по каждому из них должен состоять только из одной цифры9️⃣:

 3 * (2 + 1)
(3 + 24) / (10 - 7)
(2 + 5 * 5) / (6 - 3)
3 * (5 - 8 / 2) * (2 + 1)

Введите в LIVE EDITOR перечисленые значения :

Интерактивный редактор
Результат
Loading...

Комбинированное присваивание

Conbination

Оператор представляет собой символическое обозначение некоторого действия, выполняемого с операндами в выражении(Например: +, -, *, /).

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

Основной оператор комбинированного присваивания - это знак равно =, он и присваивает значение правого операнда, левому. То есть - x = y присваивает значение переменной y, переменной x.

Вы уже не раз видели, как при помощи математических операторов происходит присваивание значений переменным . Например, так:

let sum = 2 + 3 // значение суммы 7

А ещё вы, наверное, не успели позабыть, что в любой момент можно изменить значение уже известной переменной :

Интерактивный редактор
Результат
Loading...

Присваивание со сложением += для того, чтобы быстро увеличить значение переменной! Вот вам несколько примеров:

let значение = 5
значение += 2 // значение теперь 7 (то же самое, что значение = // значение + 2)
значение += 3 // значение теперь 10 (то же самое, что значение = // значение + 3)
значение = значение + значение // 20 (а можно просто значение += // значение)
значение += значение // 40 (то же самое, что значение = значение + // значение)

Вы ведь уже догадались, что подобные штуки работают и с прочими математическими действиями, да?!

значение –= 25 // значение теперь 15 (то же, что и значение = значение − // 25)
значение -= 2 // значение теперь 30 (то же самое, что значение = // значение - 2)
значение /= 3 // значение теперь 10 (то же самое, что значение = // value / 3)
значение // Ответ: 10

Далее проверьте все перечисленые примеры в LIVE EDITOR:

Интерактивный редактор
Результат
Loading...

Подробней о комбинированном присваивании можно почитать здесь

Инкремент и декремент

increment

Оператор ++ (инкремент) увеличивает значение своего операнда на единицу. Если значение операнда не является числом, оператор автоматически преобразует его в число, увеличивает на единицу и возвращает результат, который присваивается обратно операнду:

Интерактивный редактор
Результат
Loading...

Оператор -- (декремент) работает аналогично оператору инкремент, но не увеличивает значение своего операнда, а наоборот, уменьшает его на единицу:

Интерактивный редактор
Результат
Loading...

Оператор modulo

function

Знаком % (процентов) мы обозначаем остаток от деления. Оператор возвращает целый остаток от деления левого операнда на правый. Возвращаемое значение всегда получает знак делимого, а не делителя. Он использует встроенную функцию⚙️ modulo, для получения результата, которая является целочисленным остатком деления let1 на let2.

12 % 5 результат 2

NaN % 2 результат NaN

1 % 2 результат 1

2 % 3 результат 2

4 % 2 результат 0

5.5 % 2 результат 1.5

Проверьте все перечисленые примеры в LIVE EDITOR и сразу все поймете:

Интерактивный редактор
Результат
Loading...

Округление

Balls

Метод Math.round() возвращает число, округлённое к ближайшему целому. Если дробная часть числа больше, либо равна 0,5, аргумент будет округлён до ближайшего большего целого. Если дробная часть числа меньше 0,5, аргумент будет округлён до ближайшего меньшего целого.

result = Math.round(20.49) Вернёт значение 20

result = Math.round(20.5) Вернёт значение 21

проверьте сами:

Интерактивный редактор
Результат
Loading...

React Native

Числа вставляются в React Native приложения также просто как и строки.

EnglishMoji!

Проблемы?

Problem

Пишите в Discord или телеграмм чат, а также подписывайтесь на наши новости

JavaScript Camp

Вопросы:

Question

Какие арифметические действия названы основными?

  1. Сложение, вычитание
  2. Умножение, деление
  3. Сложение, вычитание, умножение, деление

Как правильно читается +=?

  1. Инкремент
  2. Присваивание со сложением
  3. Плюс и равно

Как инкремент записывается знаком(знаками)?

  1. ++
  2. --
  3. +

Каким знаком обозначается остаток от деления?

  1. %
  2. /
  3. \

Какое значение Math.round вернёт при действии Math.round (20.62)?

  1. 22
  2. 20
  3. 21

Какой специальный символ вы могли бы использовать, чтобы упростить это задание? \n myVariable = myVariable * 2

  1. =*
  2. *=
  3. *

Какой символ используется для обозначения модуля(остаток от деления) в JavaScript?

  1. %
  2. $
  3. &

Каков самый простой (то есть самый короткий) способ записать это (используя специальный символ)? Как называется специальный символ?\n myVariable = myVariable + 1

  1. myVariable++
  2. myVariable+
  3. myVariable+=

Каков самый простой (то есть самый короткий) способ записать это (используя специальный символ)? Как называется специальный символ? \n myVariable = myVariable - 1

  1. myVariable--
  2. myVariable-
  3. myVariable-=

Если бы вы писали программу для определения четности или нечетности значения, какое число вы бы использовали после оператора по модулю?

  1. 2
  2. 4
  3. 0

Какой специальный символ вы могли бы использовать, чтобы упростить это задание?\n myValue = myValue - 8

  1. - (myValue - 8)
  2. -= (myValue -= 8)
  3. =- (myValue =- 8)

Каково собирательное имя символов, которые сначала выполняют операцию с переменной, а затем присваивают новое значение той же переменной (например, +=, -=, *= и /=)?

  1. Комбинированое присвоение
  2. Математическое присвоение
  3. Условное присвоение

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

EnglishMoji!

Ссылки:

  1. MDN web docs
  2. Код для подростков: прекрасное руководство по программированию для начинающих, том 1: Javascript - Jeremy Moritz
  3. JavaScript.ru
  4. Арифметические действия с целыми числами

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Dmitriy Vasilev

💵

Resoner2005

🐛 🎨 🖋