- Примитивные типы
- Числа
- Струнные
- Литералы шаблона
- Логический
- нулевой
- не определено
- Типы объектов
- Как найти тип переменной
Примитивные типы
Примитивными типами являются
- Номер
- Строка
- Логический
- Символ
И два особых типа:
- нулевой
- не определено
Давайте рассмотрим их подробно в следующих разделах.
Числа
Внутренне в JavaScript есть только один тип чисел: каждое число является числом с плавающей точкой.
Числовой литерал – это число, представленное в исходном коде, и в зависимости от того, как оно написано, оно может быть целочисленным литералом или литералом с плавающей запятой.
Целые числа:
10 5354576767321 0xCC //hex
Поплавки:
3.14 .1234 5.2e4 //5.2 * 10^4
Струнные
Строковый тип – это последовательность символов. Он определен в исходном коде как строковый литерал, заключенный в кавычки или двойные кавычки
'A string' "Another string"
Строки могут занимать несколько строк с помощью обратной косой черты
"A \ string"
Строка может содержать управляющие последовательности, которые могут быть интерпретированы при печати строки, например \n для создания новой строки. Обратная косая черта также полезна, когда вам нужно ввести, например, кавычку в строку, заключенную в кавычки, чтобы символ не интерпретировался как закрывающая кавычка:
'I\'m a developer'
Строки могут быть соединены с помощью оператора +:
"A " + "string"
Литералы шаблона
Введенные в ES2015 литералы шаблонов представляют собой строковые литералы, которые позволяют более эффективно определять строки.
const a_string = `something`
Вы можете выполнить подстановку строк, вставив результат любого выражения JS:
`a string with ${something}`
`a string with ${something+somethingElse}`
`a string with ${obj.something()}`Вы можете легко создавать многострочные строки:
`a string
with
${something}`Логический
JavaScript определяет два зарезервированных слова для логических значений: true и false. Множество операций сравнения == === < > (и так далее) возвращайте либо одно, либо другое.
если , в то время как операторы и другие управляющие структуры используют логические значения для определения потока выполнения программы.
Они не просто принимают истину или ложь, но также принимают истину и ложные
Ложные значения, значения интерпретируются как ложные , являются
0 -0 NaN undefined null '' //empty string
Все остальное считается значением истинности .
нулевой
null – это специальное значение, указывающее на отсутствие значения.
Это распространенное понятие и в других языках, может быть известно как ноль или Нет в Python, например.
не определено
неопределенный указывает, что переменная не была инициализирована и значение отсутствует.
Обычно он возвращается функциями без возвращаемого значения. Когда функция принимает параметр, но он не задан вызывающим, он не определен.
Чтобы определить, является ли значение неопределенным , вы используете конструкцию:
typeof variable === 'undefined'
Типы объектов
Все, что не является примитивным типом, является типом объекта.
Типы объектов имеют свойства, а также методы, которые могут воздействовать на эти свойства.
Как найти тип переменной
Любой переменной присвоен определенный тип. Используйте оператор typeof для получения строкового представления типа:
typeof 1 === 'number'
typeof '1' === 'string'
typeof {name: 'Flavio'} === 'object'
typeof [1, 2, 3] === 'object'
typeof true === 'boolean'
typeof undefined === 'undefined'
typeof (() => {}) === 'function'Почему тип возвращаемой “функции”? В JavaScript нет типа функция . Это правда, и это особенность типа , которая удобно возвращает это значение.
Оригинал: “https://flaviocopes.com/javascript-types/”