Поиск








  


Главная » 2021 » Листопад » 4 » Типы данных Data types JavaScript Language JavaScript Basics Язык JavaScript Основы ЯваСкрипт
15:58
Типы данных Data types JavaScript Language JavaScript Basics Язык JavaScript Основы ЯваСкрипт

      Значение в JavaScript всегда относится к данным определённого типа. Например, это может быть строка или число.

Есть восемь основных типов данных в JavaScript. В этой главе мы рассмотрим их в общем, а в следующих главах поговорим подробнее о каждом.

Переменная в JavaScript может содержать любые данные. В один момент там может быть строка, а в другой – число:

1 // Не будет ошибкой
2 let message = "hello";
3 message = 123456;

Языки программирования, в которых такое возможно, называются «динамически типизированными». Это значит, что типы данных есть, но переменные не привязаны ни к одному из них.

Число

1 let n = 123;
2 n = 12.345;

Числовой тип данных (number) представляет как целочисленные значения, так и числа с плавающей точкой.

Существует множество операций для чисел, например, умножение *, деление /, сложение +, вычитание - и так далее.

Кроме обычных чисел, существуют так называемые «специальные числовые значения», которые относятся к этому типу данных: Infinity-Infinity и NaN.

  • Infinity представляет собой математическую бесконечность ∞. Это особое значение, которое больше любого числа.

    Мы можем получить его в результате деления на ноль:

1 alert( 1 / 0 ); // Infinity

   index.HTML

<!DOCTYPE html>

<script>

"use strict";

 

alert( 1 / 0 ); // Infinity

alert( 1 / 0 ); // Infinity

Или задать его явно:

1 alert( Infinity ); // Infinity

Index.html

 

<!DOCTYPE html>

<script>

"use strict";

 

alert( Infinity ); // Infinity

</script>

 

NaN означает вычислительную ошибку. Это результат неправильной или неопределённой математической операции, например:

1 alert( "не число" / 2 ); // NaN, такое деление является ошибкой

Значение NaN «прилипчиво». Любая операция с NaN возвращает NaN:

1 alert( "не число" / 2 + 5 ); // NaN

Если где-то в математическом выражении есть NaN, то результатом вычислений с его участием будет NaN.

Математические операции – безопасны

Математические операции в JavaScript «безопасны». Мы можем делать что угодно: делить на ноль, обращаться с нечисловыми строками как с числами и т.д.

Скрипт никогда не остановится с фатальной ошибкой (не «умрёт»). В худшем случае мы получим NaN как результат выполнения.

Специальные числовые значения относятся к типу «число». Конечно, это не числа в привычном значении этого слова.

Подробнее о работе с числами мы поговорим в главе Числа.

BigInt

В JavaScript тип «number» не может содержать числа больше, чем (253-1) (т. е. 9007199254740991), или меньше, чем -(253-1) для отрицательных чисел. Это техническое ограничение вызвано их внутренним представлением.

Для большинства случаев этого достаточно. Но иногда нам нужны действительно гигантские числа, например, в криптографии или при использовании метки времени («timestamp») с микросекундами.

Тип BigInt был добавлен в JavaScript, чтобы дать возможность работать с целыми числами произвольной длины.

Чтобы создать значение типа BigInt, необходимо добавить n в конец числового литерала:

// символ "n" в конце означает, что это BigInt
const bigInt = 1234567890123456789012345678901234567890n;

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

Поддержка

В данный момент BigInt поддерживается только в браузерах Firefox, Chrome, Edge и Safari, но не поддерживается в IE.

Строка

Строка (string) в JavaScript должна быть заключена в кавычки.

1 let str = "Привет";
2 let str2 = 'Одинарные кавычки тоже подойдут';
3 let phrase = `Обратные кавычки позволяют встраивать переменные ${str}`;

В JavaScript существует три типа кавычек.

  1. Двойные кавычки: "Привет".
  2. Одинарные кавычки: 'Привет'.
  3. Обратные кавычки: `Привет`.

Двойные или одинарные кавычки являются «простыми», между ними нет разницы в JavaScript.

Обратные же кавычки имеют расширенную функциональность. Они позволяют нам встраивать выражения в строку, заключая их в ${…}. Например:

1 let name = "Иван";
2  
3 // Вставим переменную
4 alert( `Привет, ${name}!` ); // Привет, Иван!
5  
6 // Вставим выражение
7 alert( `результат: ${1 + 2}` ); // результат: 3

Выражение внутри ${…} вычисляется, и его результат становится частью строки. Мы можем положить туда всё, что угодно: переменную name, или выражение 1 + 2, или что-то более сложное.

Обратите внимание, что это можно делать только в обратных кавычках. Другие кавычки не имеют такой функциональности встраивания!

1 alert( "результат: ${1 + 2}" ); // результат: ${1 + 2} (двойные кавычки ничего не делают)
 

<!DOCTYPE html>

<script>

"use strict";

 

alert( "результат: ${1 + 2}" ); // результат: ${1 + 2} (двойные кавычки ничего не делают)

</script>

Мы рассмотрим строки более подробно в главе Строки.

Нет отдельного типа данных для одного символа.

В некоторых языках, например C и Java, для хранения одного символа, например "a" или "%", существует отдельный тип. В языках C и Java это char.

В JavaScript подобного типа нет, есть только тип string. Строка может содержать ноль символов (быть пустой), один символ или множество.

В JavaScript есть 8 основных типов.

  • number для любых чисел: целочисленных или чисел с плавающей точкой; целочисленные значения ограничены диапазоном ±(253-1).
  • bigint для целых чисел произвольной длины.
  • string для строк. Строка может содержать ноль или больше символов, нет отдельного символьного типа.
  • boolean для true/false.
  • null для неизвестных значений – отдельный тип, имеющий одно значение null.
  • undefined для неприсвоенных значений – отдельный тип, имеющий одно значение undefined.
  • object для более сложных структур данных.
  • symbol для уникальных идентификаторов.

Оператор typeof позволяет нам увидеть, какой тип данных сохранён в переменной.

  • Имеет две формы: typeof x или typeof(x).
  • Возвращает строку с именем типа. Например, "string".
  • Для null возвращается "object" – это ошибка в языке, на самом деле это не объект.
Прикрепления: Картинка 1
Просмотров: 209 | Добавил: натанатаната (adsbygoogle = window.adsbygoogle || []).push({}); | Теги: ЯваСкрипт, Типы данных Data types, JavaScript Language, javascript, JavaScript Basics, Математические операци, язык, основы | Рейтинг: 0.0/0
Всего комментариев: 0
avatar

 
главная доска объявлений Правила пользования Доской ©
Автомобили недвижимость Промышленное оборудование Для офиса Строительство Разное Бизнес, сотрудничество животные Бытовые товары
Компьютеры Услуги в разных сферах