JavaScript Типы данных
JavaScript типы данных
Переменные JavaScript могут содержать множество типов данных: числа, строки, объекты и многое другое:
var length = 16; // Число
var lastName = "Щипунов"; // Строка
var
x = {firstName:"Щипунов", lastName:"Андрей"}; // Объект
Понятие типов данных
В программировании типы данных - важно понять.
Чтобы, иметь возможность работать с переменными, важно знать кое-что о типе.
Без типов данных компьютер не может решить ни одну проблему:
var x = 16 + "Вольво";
Есть ли смысл добавлять "Вольво" к шестнадцати? Произойдет ли ошибка или результат?
JavaScript будет рассматривать приведенный выше пример как:
var x =
"16" + "Вольво";
При добавлении числа к строке, JavaScript будет рассматривать число как строка.
JavaScript оценивает выражения слева направо. Различные последовательности могут давать разные результаты:
В первом примере JavaScript обрабатывает 16 и 4 как число, пока не достигнет "Вольво".
Во втором примере, поскольку первый операнд является строкой, все операнды рассматриваются как строка.
JavaScript Типы динамические
В JavaScript типы являются динамическими . Это означает, что одна и таже переменная, может использоваться для хранения разных типов данных:
Пример
var x; // Теперь x не определен
x = 5; // Теперь x - это число
x = "Щипунов"; // Теперь x - это строка
Попробуйте сами »
JavaScript Строки
Строка (или текстовая строка) - последовательность символов, например "Щипунов Андрей".
Строки пишутся в кавычках. Вы можете использовать одинарные или двойные кавычки:
Пример
var carName1 = "Вольво XC60"; // Использование двойных кавычек
var carName2 = 'Вольво XC60'; // Использование одинарных кавычек
Попробуйте сами »
Вы можете использовать кавычки внутри строки, если они не соответствуют кавычкам, окружающим строку:
Пример
var answer1 = "Все' в порядке";
// Одинарная кавычка внутри двойных кавычек
var answer2 = "Его фамилия 'Щипунов'";
// Одинарные кавычки внутри двойных кавычек
var answer3 = 'Его фамилия "Щипунов"';
// Двойные кавычки внутри одинарных кавычек
Попробуйте сами »Позже в этом руководстве вы узнаете больше о строках.
JavaScript Числа
В JavaScript есть только один тип чисел.
Числа можно записывать с десятичными знаками или без них:
Пример
var x1 = 34.00; // Написано c десятичными знаками
var x2 = 34; // Написано без десятичных знаков
Попробуйте сами »
Сверхбольшие или сверхмалые числа можно записать в экспоненциальной нотации:
Вы узнаете больше о числах позже в этом руководстве.
JavaScript Логические значения
Логические значения могут иметь только два значения: true
или false
.
Пример
var x = 5;
var y = 5;
var z = 6;
(x == y)
// Возвращает true
(x == z) // Возвращает
false
Попробуйте сами »Логические значения часто используются в условном тестировании.
Вы узнаете больше об условном тестировании позже в этом руководстве.
JavaScript Массивы
JavaScript Массивы записываются в квадратные скобки.
Элементы массива разделяются запятыми.
Следующий код объявляет (создает) вызываемый массив cars
, содержащий три элемента (названия автомобилей):
Индексы массивов отсчитываются от нуля, что означает, что первый элемент - [0], второй - [1] и т.д.
Вы узнаете больше о массивах позже в этом руководстве.
JavaScript Объекты
Объекты JavaScript записываются в фигурные скобки {}
.
Свойства объекта записываются в виде пар "Имя: Значение", разделенные запятыми.
Пример
var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"Зеленый"};
Попробуйте сами »
Объект (person) в приведенном выше примере имеет 4 свойства: firstName, lastName, age и eyeColor.
Вы узнаете больше об объектах позже в этом руководстве.
JavaScript Оператор typeof
Вы можете использовать JavaScript оператор typeof
, чтобы найти тип переменной JavaScript.
Оператор typeof
, возвращает тип переменной или выражение:
Пример
typeof "" // Возвращает
"строку"
typeof "Щипунов" // Возвращает
"строку"
typeof "Щипунов Андрей" // Возвращает
"строку"
Попробуйте сами »
Пример
typeof 0 // Возвращает
"число"
typeof 314 // Возвращает
"число"
typeof 3.14 // Возвращает
"число"
typeof (3) // Возвращает
"число"
typeof (3 + 4) // Возвращает
"число"
Попробуйте сами »
JavaScript Неопределенно
В JavaScript переменная без значения имеет значение undefined
.
Тип, тоже будет undefined
.
Любую переменную можно очистить, установив для нее значение undefined
.
Тип, тоже будет undefined
.
JavaScript Пустые значения
Пустое значение, undefined
здесь, ни при чем.
Пустая строка имеет как допустимое значение, так и тип.
JavaScript Ноль
В JavaScript null
это значит "ничего". Предполагается, что этого не существует.
К сожалению, в JavaScript тип данных null
- это объект.
Вы можете считать это ошибкой в JavaScript, который typeof null
является объектом.
Так и должно быть null
.
Вы можете очистить объект, установив для него null
:
Пример
var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"Зеленый"};
person = null; // Теперь значение равно null, но тип по-прежнему является объектом
Попробуйте сами »
Вы также можете очистить объект, установив для него undefined
:
Пример
var person = {firstName:"Щипунов", lastName:"Андрей", age:50, eyeColor:"Зеленый"};
person = undefined; // Теперь оба значения и тип не определен
Попробуйте сами »
Разница между undefined и null
undefined
и null
имеют одинаковые значения, но разные по типу:
typeof undefined
// undefined
typeof null
// object
null === undefined
// false
null == undefined
// true
Попробуйте сами »
Примитивные данные
Примитивное значение данных - это одно простое значение данных без дополнительных свойств и методов.
Оператор typeof
может вернуть один из этих примитивных типов:
string
number
boolean
undefined
Пример
typeof "Щипунов" // Возвращает
"string"
typeof 3.14 // Возвращает
"number"
typeof true // Возвращает
"boolean"
typeof false // Возвращает "boolean"
typeof x
// Возвращает "undefined" (если x не имеет значения)
Попробуйте сами »
Комплексные данные
Оператор typeof
может возвращать одно из двух сложных типов:
function
object
typeof
возвращает оператор "object" для объектов, массивов, и нуля.
typeof
не возвращает оператор "object" для функций.
Пример
typeof {name:'Щипунов', age:34} // Возвращает "object"
typeof [1,2,3,4]
// Возвращает "object" (не "array", см. примечание ниже)
typeof null // Возвращает
"object"
typeof function myFunc(){} // Возвращает "function"
Попробуйте сами »
В typeof
возвращает оператор
"object
" для массивов,
так как в массивах JavaScript являются объектами.