Бу тил объектга йўналтирилган тиллар синфига мансуб. Тилнинг
объектлари сифатида «турлар», «атрибутлар» ва «методлар» қаралади.
"John,Jane,Paul,Michael".split(",").length
Ўзгарувчиларни олдиндан албатта эълон қилиш шарт эмас.
Шунинг учун ҳам ўзгарувчилар зарур вақтда ўз номи билан тури аниқланади.
var number = 25; number = (number < 0); number = "25";
Объектларнинг тури ҳам мос равишда number, string, function,
object, undefined каби аниқланиши мумкин.
typeof оператори объект турини “аниқлаш” учун қўлланилади.
typeof 25 == "number" typeof null == "object"
Асосий турлар (ички аниқланган)
Тил таркибида «класслар» ва объектларнинг шундай тўплами мавжудки, улар атрибутлар ва методлардан фарқ қилади. Дастурчилар бу класслар билан ишлашда динамик ўзгаришларни киритиши, ҳатто янги классларни яратиши мумкин. Ҳар бир класс объект ҳисобланади. Яъни унинг атрибутлар ва методлар тўплами ичида прототипи бўлиши ҳам мумкин.
Тилнинг ички аниқланган турлари:
- Number: 64-разрядли қўзғалувчи нуқтали сон.
- String: Unicode форматидаги белгилар.
- Array : чегараланган ўзгарувчилар массиви
- Function : Функция. Ҳар бир функция янги объект қуришга хизмат қилади.