Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

тюмгу / Perevod

.docx
Скачиваний:
3
Добавлен:
08.12.2019
Размер:
28.16 Кб
Скачать

В JavaScript существует три первичных типа данных, два составных типа данных и два специальных типа данных.

Первичные типы данных

Первичные (примитивные) типы данных:

• Строка

• Число

• Логическое

Композитные типы данных

Составные (ссылочные) типы данных:

• Объект

• Массив

Специальные типы данных

Специальные типы данных:

• Ноль

• Неопределенное

Строковый тип данных

Строковое значение представляет собой цепочку из нуля или более символов Юникода (буквы, цифры и знаки препинания). Вы используете строковый тип данных для представления текста в JavaScript. Вы включаете строковые литералы в свои скрипты, заключая их в одиночные или двойные кавычки. Двойные кавычки могут содержаться в строках, окруженных одинарными кавычками, а одинарные кавычки могут содержаться в строках, окруженных двойными кавычками. Ниже приведены примеры строк:

"Happy am I; from care I'm free!"

'"Avast, ye lubbers!" roared the technician.'

"45"

'c'

Обратите внимание, что JavaScript не имеет типа для представления одного символа. Чтобы представить один символ в JavaScript, вы создаете строку, состоящую только из одного символа. Строка, содержащая нулевые символы (""), является пустой (нулевой) строкой.

Целочисленные значения

Целочисленные значения могут быть положительными целыми числами, отрицательными целыми числами и 0. Они могут быть представлены в базе 10 (десятичная), база 16 (шестнадцатеричная) и база 8 (восьмеричная). Большинство чисел в JavaScript записаны в десятичной форме.

Вы обозначаете шестнадцатеричные («шестнадцатеричные») целые числа, префикс их с ведущим «0x» (ноль и x | X). Они могут содержать цифры от 0 до 9 и буквы от A до F (только в верхнем или нижнем регистре). Буквы от A до F используются для представления в виде отдельных цифр 10-15 в базе 10. То есть 0xF эквивалентен 15, а 0x10 эквивалентен 16.

Вы обозначаете восьмеричные целые числа, префикс их с помощью «0» (ноль). Они могут содержать цифры от 0 до 7. Число, которое имеет ведущее «0» и содержит цифры «8» и / или «9», интерпретируется как десятичное число.

Как шестнадцатеричные, так и восьмеричные числа могут быть отрицательными, но они не могут иметь десятичную часть, и они не могут быть записаны в научной (экспоненциальной) нотации.

Значения с плавающей запятой

Значения с плавающей запятой могут быть целыми числами с десятичной частью. Кроме того, они могут быть выражены в научной нотации. То есть, верхний или нижний регистр «e» используется для представления «десять во власть». JavaScript представляет числа, используя восьмибайтовый стандарт с плавающей точкой IEEE 754 для численного представления. Это означает, что вы можете записывать номера размером до 1.79769x10308 и размером 5x10-324. Число, содержащее десятичную точку и имеющее единственный «0» перед десятичной точкой, интерпретируется как десятичное число с плавающей запятой.

Обратите внимание, что число, начинающееся с «0x» или «00» и содержащее десятичную точку, приведет к ошибке. Вот несколько примеров номеров JavaScript.

Номер

Описание

Десятичный эквивалент

.0001, 0.0001, 1e-4, 1.0e-4

Четыре эквивалентных числа с плавающей запятой.

0.0001

3.45e2

Число с плавающей запятой.

345

45

Целое число.

45

0378

Целое число. Хотя это выглядит как восьмеричное число (оно начинается с нуля), 8 не является действительной восьмеричной цифрой, поэтому число рассматривается как десятичное.

378

0377

Числовое число. Обратите внимание, что, хотя он только на один меньше, чем число выше, его фактическое значение совершенно иное.

255

0.0001

Число с плавающей запятой. Хотя это начинается с нуля, это не восьмеричное число, поскольку оно имеет десятичную точку.

0.0001

00.0001

Это ошибка. Два ведущих нуля обозначают число как восьмеричное, но восьмеричные не допускают десятичной составляющей.

N / A (ошибка компилятора)

0Xff

Шестнадцатеричное целое число.

255

0x37CF

Шестнадцатеричное целое число.

14287

0x3e7

Шестнадцатеричное целое число. Обратите внимание, что «e» не рассматривается как возведение в степень.

999

0x3.45e2

Это ошибка. Шестнадцатеричные числа не могут иметь десятичных частей.

N / A (ошибка компилятора)

Кроме того, JavaScript содержит номера со специальными значениями. Эти:

• NaN (не число). Это используется, когда математическая операция выполняется на неприемлемых данных, таких как строки или неопределенное значение

• Положительная бесконечность. Это используется, когда положительное число слишком велико для представления в JavaScript

• Отрицательная бесконечность. Это используется, когда отрицательное число слишком велико для представления в JavaScript.

• Положительный и отрицательный 0. JavaScript различает положительный и отрицательный ноль.

Тип данных Boolean

В то время как типы строк и числовых данных могут иметь практически неограниченное количество разных значений, тип данных Boolean может иметь только два. Они - литералы истинные и ложные. Логическое значение - значение истины: оно указывает, является ли условие истинным или нет.

Сравнения, которые вы делаете в своих сценариях, всегда имеют логический результат. Рассмотрим следующую строку кода JavaScript.

y = (x == 2000);

Здесь значение переменной x сравнивается с числом 2000. Если это так, результатом сравнения является логическое значение true, которое присваивается переменной y. Если x не равно 2000, то результатом сравнения является логическое значение false.

Булевы значения особенно полезны в структурах управления. Следующий код объединяет сравнение, которое создает логическое значение непосредственно с помощью оператора, который его использует. Рассмотрим следующий пример кода JavaScript.

if (x == 2000) {

z = z + 1;

}

else {

x = x + 1;

}

Оператор if/else  в JavaScript выполняет одно действие, если логическое значение true (z = z + 1), и альтернативное действие, если логическое значение ложно false (x = x + 1).

Вы можете использовать любое выражение в качестве сравнительного выражения. Любое выражение, которое оценивает 0, null, undefined или пустую строку, интерпретируется как false. Выражение, которое оценивает любое другое значение, интерпретируется как true. Например, вы можете использовать выражение, такое как:

// Это может не делать то, что вы ожидаете. Смотри ниже!

if (x = y + z)

Обратите внимание, что указанная выше строка не проверяет, равна ли x y + z, так как используется только один знак равенства (оператор присваивания). Вместо этого код выше присваивает значение y + z переменной x, а затем проверяет, равен ли результат всего выражения (значение x) равным нулю. Чтобы проверить, равен ли x y + z, вам нужно использовать следующий код.

// Это отличается от кода выше!

if (x == y + z)

Нулевой тип данных

Нулевой тип данных имеет только одно значение в JavaScript: null. Ключевое слово null не может использоваться как имя функции или переменной.

Переменная, содержащая null, не содержит допустимых чисел, строк, булей, массивов или объектов. Вы можете удалить содержимое переменной (без удаления переменной), присвоив ей нулевое значение.

Обратите внимание, что в JavaScript значение null не совпадает с 0 (как в C и C ++). Также обратите внимание, что оператор typeof в JavaScript сообщает null значения как имеющие тип Object, а не типа null. Это потенциально запутанное поведение для обратной совместимости.

Неопределенный тип данных

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

Вы можете проверить, существует ли переменная, сравнивая ее с неопределенной, хотя вы можете проверить, не указан ли ее тип, сравнивая тип переменной с строкой «undefined». В следующем примере показано, как определить переменную x:

var x;

// Этот метод работает

if (x == undefined) {

document.write("Сравнение x на undefined <br/>");

}

.

// Этот метод не работает - вы должны проверить строку «undefined».

if (typeof(x) == undefined) {

document.write("Сравнение х на undefined <br/>");

}

// Этот метод работает

if (typeof(x) == "undefined") {

document.write("Сравнение типа x с строкой на 'undefined'");

}

Вы также можете сравнить неопределенное значение с null. Это сравнение истинно, если свойство someObject.prop равно null или если свойство someObject.prop не существует.

someObject.prop == null;

Чтобы узнать, существует ли свойство объекта, вы можете использовать оператор in :

if ("prop" in someObject)

// SomeObject имеет свойство 'prop'

Соседние файлы в папке тюмгу