Что такое типы данных в JavaScript

12 set 2022 6 min di lettura
Что такое типы данных в JavaScript
Indice dei contenuti

Введение

Типы данных используются для классификации определенного типа данных в языках программирования. Например, число и строка символов — это разные типы данных, которые JavaScript будет обрабатывать по-разному.

Это важно, потому что конкретный тип данных, который вы используете, будет определять, какие значения вы можете ему присвоить и что вы можете с ним сделать. Это означает, что для выполнения операций с переменными в JavaScript важно понимать тип данных данной переменной.

В этом руководстве мы рассмотрим, как работают типы данных в JavaScript, а также основные важные типы данных языка.

Динамическая типизация

JavaScript имеет динамические типы данных, что означает, что проверка типов выполняется во время выполнения, а не во время компиляции. Типы данных Python также динамически типизируются.

В динамически типизированных языках переменная с одним и тем же именем может использоваться для хранения разных типов данных.

Например, переменная t, определенная как переменная с помощью ключевого слова let (обратите внимание, что let сохраняет в функции определенную ограниченную переменную), может быть назначена для хранения различных типов данных или может быть инициализирована, но не определена:

let t = 16; //t is a number
 let t = "Teresa"; //t is a string
 let t = true; //t is a Boolean
 let t; //t is undefined

Каждой из переменных t в предыдущем примере можно присвоить любой тип данных, доступный в JavaScript; они не должны быть явно объявлены с типом данных перед использованием.

Числа

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

let num1 = 93;
 let num2 = 93.00;

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

Научная экспоненциальная запись может использоваться в JavaScript для сокращения очень больших или малых чисел, как в следующих примерах:

let num3 = 987e8; //98700000000
 let num4 = 987e-8; //0.00000987

Числа в JavaScript считаются точными до 15 цифр. Это означает, что числа будут округляться после достижения шестнадцатого разряда:

let num5 = 999999999999999; //remains as 999999999999999
 let num6 = 9999999999999999; //rounded up to 10000000000000000

В дополнение к представлению чисел числовой тип в JavaScript также имеет три доступных символьных значения:

  • Infinity — числовое значение, представляющее положительное число, приближающееся к бесконечности.
  • -Infinity — числовое значение, представляющее отрицательное число, приближающееся к бесконечности.
  • NaN — числовое значение, представляющее не число, которое означает « не число ».

Infinity или -Infinity будет возвращено, если вы вычислите число за пределами максимально возможного числа, доступного в JavaScript. Это также произойдет для неопределенных значений, например, при делении на ноль:

let num7 = 5 /0; //will return Infinity
 let num8 = -5 /0; //will return -Infinity

С технической точки зрения, Infinity появляется, когда число превышает число 1.797693134862315E+308, которое является верхним пределом в JavaScript.

Аналогично, -Infinity будет отображаться, когда число превышает нижний предел -1.797693134862316E+308.

Число Infinity также можно использовать в циклах:

while (num9!= Infinity) {
 //Code here will execute through num9 = Infinity
 }

Для номеров, которые не являются допустимыми, будет отображаться NaN. Если вы попытаетесь выполнить математическую операцию над числом и нечисловым значением, будет возвращено NaN. Это имеет место в следующем примере:

let x = 20 /"Shark"; //x will be NaN

Поскольку число 20 нельзя разделить на строку "Shark", потому что оно не может быть вычислено как число, возвращаемое значение для переменной x равно NaN.

Однако, если строку можно оценить как числовое значение, математическое выражение можно выполнить в JavaScript:

let y = 20 /"5"; //y will be 4

В приведенном выше примере, поскольку строка "5" может быть оценена как числовое значение в JavaScript, она обрабатывается как таковая и работает с математическим оператором деления /.

Когда вы присваиваете значение NaN переменной, используемой в операции, вы получите значение NaN, даже если другой операнд является допустимым числом:

let a = NaN;
 let b = 37;
 let c = a + b; //c will be NaN

В JavaScript есть только один числовой тип данных. При работе с числами любое введенное число будет интерпретироваться как тип данных для чисел; нет необходимости объявлять, какой тип данных вы вводите, потому что JavaScript типизируется динамически.

Струны

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

В JavaScript строки заключаются в одинарные ' или двойные кавычки, поэтому, чтобы создать строку, заключите последовательность символов в кавычки "

let singleQuotes = 'This is a string in single quotes.';
let doubleQuotes = "This is a string in double quotes.";

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

Программа «Привет, мир!» демонстрирует, как можно использовать строку в программировании, поскольку символы, составляющие фразу Hello, World! alert() ниже — это строка.

<!DOCTYPE HTML>
 <html>
 <head>
 <script>
 function helloFunction() {
 alert("Hello, World!");
 }
 </script>
 </head>
 <body>
 <p><button onclick="helloFunction()">Click me</button></p>
 </body>
 </html>
привет.html

Когда мы запустим код и нажмем Click me, появится всплывающее окно со следующим выводом:

Hello, World!

Как и в случае с другими типами данных, мы можем хранить строки в переменных:

let hw = "Hello, World!";

И вывести строку в alert(), вызвав переменную:

...
 <script>
 let hw = "Hello, World!";
 function helloFunction() {
 alert(hw);
 }
 </script>...
привет.html
Hello, World!

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

Булевы значения

Тип данных Boolean может принимать одно из двух значений: true или false. Булевы значения используются для представления значений истинности, связанных с логическим разделом математики, который информирует алгоритмы в информатике.

Всякий раз, когда вы видите тип данных Boolean, он начинается с заглавной буквы B, потому что он назван в честь математика Джорджа Буля.

Многие операции в математике дают нам ответы, которые оценивают истинность или ложность:

больше чем

  • 500> 100 true
  • 1> 5 false

меньше, чем

  • 200 <400 true
  • 4 <2 false

даже

  • 5 = 5 true
  • 500 = 400 false

Как и в случае с другими типами данных, мы можем хранить логическое значение в переменной:

let myBool = 5 > 8; //false

Поскольку 5 не больше 8, переменная myBool имеет значение false.

По мере того, как вы будете писать больше программ на JavaScript, вы лучше узнаете, как работают булевы значения и как различные функции и операции, оценивающие значение true или false, могут изменить ход программы.

Множество

Массив может содержать несколько значений внутри одной переменной. Это означает, что вы можете хранить список значений внутри массива и перебирать их.

Каждый элемент или значение в массиве называется элементом. На элементы массива можно ссылаться с помощью порядкового номера.

Точно так же, как строки определяются как символы в кавычках, массивы определяются со значениями в квадратных скобках [ ].

Например, массив строк выглядит так:

let fish = ["shark", "cuttlefish", "clownfish", "eel"];

Если мы вызовем переменную fish, то получим следующий вывод:

["shark", "cuttlefish", "clownfish", "eel"]

Массивы являются очень гибким типом данных, потому что они изменяемы, так как в них можно добавлять, удалять и изменять значения элементов.

Объекты

Тип данных объекта JavaScript может содержать множество значений, таких как пары имя: значение (имя: значение). Эти пары обеспечивают удобный способ хранения данных и доступа к ним. Синтаксис литерала объекта состоит из пар имя: значение, разделенных двоеточием с фигурными скобками с обеих сторон { }.

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

let noviello = {firstName:"Noviello", lastName:"Shark", color:"blue", location:"ocean"};

В качестве альтернативы, и особенно для литералов объектов с большим количеством пар имя:значение, мы можем записать этот тип данных в несколько строк с пробелами после каждого двоеточия:

let noviello = {
 firstName: "Noviello",
 lastName: "Shark",
 color: "blue",
 location: "Ocean"
 };

Переменная объекта noviello в каждом из приведенных выше примеров имеет 4 свойства: firstName, lastName, color и location. Это каждое переданное значение, разделенное двоеточием.

Работа с несколькими типами данных

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

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

Например, при использовании оператора + с числами и строками вместе числа будут обрабатываться как строки (поэтому они будут объединены), но порядок типов данных будет влиять на объединение.

Поэтому, если вы создадите переменную, которая выполняет следующую конкатенацию, JavaScript будет интерпретировать каждый элемент ниже как строку:

let o = "Ocean" + 5 + 3;

Если вы вызовете переменную o, вы получите следующее возвращаемое значение:

Ocean53

Однако, если вы работаете с числами, два числа будут добавлены до того, как они будут интерпретированы как строка, когда среда выполнения программы достигнет "Ocean", поэтому возвращаемое значение будет суммой двух чисел, объединенных со строкой:

let p = 5 + 3 + "Ocean";
8Ocean

Из-за этих неожиданных результатов вы, скорее всего, будете выполнять операции и методы внутри типа данных, а не над ними. Однако JavaScript не возвращает ошибок при смешивании типов данных, как это делают другие языки программирования.

Вывод

К настоящему времени вы должны лучше понимать некоторые из основных типов данных, доступных для использования в JavaScript.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.