JavaScript виконання коду JavaScript підключення зовнішнього файлу JavaScript console.log JavaScript змінні і константи JavaScript типи даних JavaScript операції зі змінними JavaScript перетворення даних JavaScript масиви JavaScript умовні конструкції JavaScript цикли JavaScript функції JavaScript область видимості змінних JavaScript замикання і функції IIFE JavaScript Паттерн Модуль JavaScript рекурсивні функції JavaScript перевизначення функцій JavaScript hoisting JavaScript передача параметрів за значенням і за посиланням JavaScript стрілочні функції JavaScript ООП Object JavaScript ООП вкладені об'єкти і масиви в об'єктах JavaScript ООП перевірка наявності і перебір методів і властивостей JavaScript ООП об'єкти у функціях JavaScript ООП конструктори об'єктів JavaScript ООП розширення об'єктів. prototype JavaScript ООП інкапсуляція JavaScript ООП Функція як об'єкт. Методи call і apply JavaScript ООП спадкування JavaScript ООП Ключове слово this JavaScript ООП Object destructuring JavaScript ООП класи JavaScript ООП Date. Робота з датами JavaScript Об'єкт Math. математичні операції JavaScript Об'єкт Array. Робота з масивами JavaScript ООП об'єкт Number JavaScript String JavaScript String Об'єкт RegExp. Регулярні вирази JavaScript String Регулярні вирази в методах String JavaScript String Синтаксис регулярних виразів JavaScript Робота з браузером і BOM JavaScript діалогові вікна JavaScript Історія браузера. об'єкт history JavaScript об'єкт location JavaScript об'єкт navigator JavaScript таймери JavaScript DOM Введення JavaScript DOM Об'єкт document. Пошук елементів JavaScript DOM Властивості об'єкта document JavaScript DOM Об'єкт Node. Навігація по DOM JavaScript DOM Створення, додавання і видалення елементів веб-сторінки JavaScript DOM Об'єкт Element. управління елементами JavaScript DOM Зміна стилю елементів JavaScript події. Введення в обробку подій. JavaScript події обробники JavaScript події. об'єкт Event JavaScript події. поширення подій JavaScript події миші JavaScript події клавіатури JavaScript FORMS. Форми і їх елементи JavaScript FORMS. Кнопки JavaScript FORMS. текстові поля JavaScript FORMS. Прапорці та перемикачі JavaScript FORMS. Список select JavaScript JSON JavaScript зберігання даних. cookie JavaScript зберігання даних. Web Storage JavaScript Collection. Ітератори JavaScript Collection. Генератори JavaScript Collection. Множина Set JavaScript Collection. Map JavaScript Collection. WeakSet і WeakMap JavaScript AJAX. XMLHttpRequest JavaScript AJAX. Відправка даних JavaScript AJAX. Promise в Ajax-запитах

JavaScript типи даних


Всі використовувані дані в javascript мають певний тип. В JavaScript є п'ять примітивних типів даних:

  • String : представляє строку

  • Number : представляє числове значення

  • Boolean : представляє логічне значення true або false

  • undefined : вказує, що значення не встановлено

  • null : вказує на невизначене значення

Всі дані, які не потрапляють під перераховані вище п'ять типів, відносяться до типу object


Числові дані

Числа в JavaScript можуть мати дві форми:

  • Цілі числа, наприклад, 35. Ми можемо використовувати як додатні, так і від'ємні числа. Діапазон використовуваних чисел: від -2 53 до 2 53

  • Дробові числа (числа з плаваючою точкою), наприклад, 3.5575. Знову ж можна використовувати як додатні, так і від'ємні числа. Для чисел з плаваючою точкою використовується той же діапазон: від -2 53 до 2 53

наприклад:

var x = 45;
var y = 23.897;

Як роздільник між цілою і дробовою частинами, як і в інших мовах програмування, використовується крапка.


Строки

Тип string являє рядки, тобто такі дані, які вставлені в лапки. Наприклад, "HELLO WORLD!" . Причому ми можемо використовувати як подвійні, так і одинарні лапки: "HELLO WORLD!" і  'HELLO WORLD!' . Є одне обмеження: тип закриваючої лапки повинен бути той же, що і тип відкриваючої, тобто або обидві подвійні " , або обидві одинарні ' .

Якщо всередині рядка зустрічаються лапки " , то ми їх повинні екранувати слешем \" . Наприклад, нехай у нас є текст "HELLO "SPACEX" " . Тепер екрануючи лапки:

var companyName = "HELLO \"SPACEX\" ";

Також ми можемо всередині стоки використовувати інший тип лапок:

var companyName1 = "HELLO 'SPACEX' ";
var companyName2 = 'HELLO "SPACEX" ';

Тип Boolean

Тип Boolean представляє булеві або логічні значення true і  false (тобто так чи ні):

var isAlive = true;
var isDead = false;

нуль і не визначено

Нерідко виникає плутанина між null і undefined . Отже, коли ми тільки визначаємо змінну без присвоєння їй початкового значення, вона являє тип undefined :

var isAlive;
console.log(isAlive); // виведе undefined

Присвоєння значення null означає, що змінна має деяке невизначене значення (не число, не рядок, не логічне значення), але все-таки має значення ( undefined означає, що змінна не має значення):

var isAlive;
console.log(isAlive); // undefined
isAlive = null;
console.log(isAlive); // null
isAlive = undefined;  // знову встановимо тип undefined
console.log(isAlive); // undefined

об'єкт

Тип object представляє складний об'єкт. Найпростіше визначення об'єкта представляється фігурними дужками {} :

var user = {};

Об'єкт може мати різні властивості і методи:

var user = {name: "Tom", age:24};
console.log(user.name);

В даному випадку об'єкт називається user , і він має дві властивості: name і age . Це короткий опис об'єктів, більш докладний опис наводиться у відповідній главі.


слабка типізація

JavaScript є мовою зі слабкою типізацією. Це означає, що змінні можуть динамічно змінювати тип. наприклад:

var xNumber;  // тип undefined
console.log(xNumber);
xNumber = 45;  // тип number
console.log(xNumber);
xNumber = "45"; // тип string
console.log(xNumber);

Незважаючи на те, що в другому і третьому випадку консоль виведе нам число 45, але в другому випадку змінна xNumber представлятиме число, а в третьому випадку - рядок.

Це важливий момент, який треба враховувати і від якого залежить поведінка змінної в програмі:

var xNumber = 45;  // тип number
var yNumber = xNumber + 5;
console.log(yNumber); // 50
     
xNumber = "45"; // тип string
var zNumber = xNumber + 5
console.log(zNumber); // 455

Вище в обох випадках до змінної xNumber застосовується операція додавання ( + ). Але в першому випадку xNumber представляє число, тому результатом операції xNumber + 5 буде число 50 .

У другому випадку xNumber представляє рядок. Але операція додавання між рядком і числом 5 неможлива. Тому число 5 перетворюватиметься в рядок, і буде відбуватися операція об'єднання рядків. І результатом виразу xNumber + 5 буде строка  "455" .


Оператор typeof

За допомогою оператора typeof можна отримати тип змінної:

var name = "Tom";
console.log(typeof name); // string
 
var income = 45.8;
console.log(typeof income); // number
     
var isEnabled = true;
console.log(typeof isEnabled); // boolean
 
var undefVariable;
console.log(typeof undefVariable); // undefined

Наш партнер:
beta test mp3 playlist downloader