У JS є елементарні типи даних та об’єктні.
Змінні елементарного типу даних утворюються простою вказівкою типу:
var S = "JavaScript";
До елементарних типів даних відносяться:
· number – число у форматі float64 (8-байтове з плаваючою крапкою);
· boolean – логічне значення (false, true)
· string – стрічкове значення (набір символів, розташований між одинарними або подвійними лапками)
· null – порожнє значенн
· undefined – невизначене значення
Змінні об’єктного типу утворюють, наприклад, з допомогою оператора new:
var S = new string("JavaScript");
Елементарні типи автоматично інтерпретуються як об'єкти при викликах методів. Наприклад, визначати довжину рядка можна так:
alert("JavaScript".length);
Тип number
Тип даних number не завжди дає точні значення. Наприклад, alert(0.1+0.2) виведе не 0.3. Для досягнення потрібної точності використовується метод toFixed:
3.1415.toFixed(2) //3.14
При операціях з number ніколи не відбуваються помилки переповнення. Однак можуть бути повернуті спеціальні значення:
Дія
| Результат
| Коментар
|
1/0
| number.POSITIVE_INFINITY
| плюс нескінченність
|
-1/0
| number.NEGATIVE_INFINITY
| мінус нескінченність
|
number("something")
| NaN
| Not-a-Number, результат хибної операції переводу у числове значення
|
Нескінченність буває корисно використовувати у звичайному коді. Наприклад, позитивна нескінченність number.POSITIVE_INFINITY більше будь-якого number, і навіть більша від самої себе.
NaN - особливий результат. Наприклад, операція з NaN дає NaN:
NaN + 1 = NaN
NaN не дорівнює сам собі:
NaN == NaN // false
Рівність NaN можна перевірити за допомогою функції isNaN:
isNaN(NaN) // true
Стандартно конвертування у число здійснюється викликом функції number(). Можна використовувати і спрощений синтаксис: +str:
var s = "002"
var a = number(str) //2
+s //2
Окрім жорсткого зведення типів можна використовувати допоміжні функції parseFloat та parseInt:
parseFloat("0.1zf") // 0.1
parseInt("08f.4",10) // 8
Ці функції переводять у число стрічкове значення посимвольно зліва направо до тих пір, поки це можливо. Якщо ні одного символу неможливо трактувати як число, то функції повертають NaN.
Другий аргумент функції parseInt задає систему числення. Якщо він відсутній, то функція намагається підібрати систему числення.
До числового типу можна використовувати математичні функції, означені у бібліотеці Math. Зокрема:
· Math.floor(), Math.round(), Math.ceil() – функції заокруглення;
· Math.abs() - модуль числа
· Math.sin() і т.д
Тип Boolean
У JS значення false набувають (при зведенні до типу boolean) такі значення:
· false
· null
· undefined
· ""
· 0
· number.NaN
Всі інші значення при зведенні до типу boolean дають true.
Щоб привести значення до булевого використовується або явне вказування типу: boolean(a), або подвійне заперечення: !!a. Тобто:
boolean(a)==!!a
Тип string
Стрічки в JS використовуються лише у форматі Unicode.
Юнікодні символи можна визначати як \uXXXX: "зірка:\u002a"
Лапки подвійні та одинарні працюють однаково.
Довжину стрічки повертає властивість length.
Ось деякі методи об’єкта String:
Метод
| Опис
|
charAt | Повертає символ, визначений індексом.
|
charCodeAt | Повертає унікод символа, визначеного індексом.
|
concat | Обєднує текст двох стрічок.
|
indexOf | Повертає індекс першої появи заданої послідовності символів.
|
lastIndexOf | Повертає індекс останньої появи заданої послідовності символів.
|
match | Використовується для суміщення регулярного виразу та стрічки.
|
replace | Заміна набору символів іншим набором символів.
|
search | Пошук підстрічки у стрічці.
|
slice | Повертає підстрічку із стрічки.
|
split | Розбиває стрічку на масив підстрічок.
|
substr | Повертає підстрічку із стрічки.
|
substring | Повертає підстрічку із стрічки.
|
toLowerCase | Перетворює всі символи стрічки у нижній регістр.
|
toUpperCase | Перетворює всі символи стрічки у верхній регістр.
|