---
title: JavaScript Data Types
description: "## JavaScript Data Types ## JavaScript өгөгдлийн төрөл JavaScript variables can hold many **data types**: numbers, strings, objects and more: JavaScript хувьсагчууд нь олон өгөгдлийн төрлийг багтаах боломжтой: тоо, үг үсэг, объект гэх мэт. `var length = 16; // Number var…"
url: "https://apprentice.mn/docs/javascript-data-types/"
updated: "2021-07-26"
category: Javascript
---

# JavaScript Data Types

## JavaScript Data Types

## JavaScript өгөгдлийн төрөл

JavaScript variables can hold many **data types**: numbers, strings, objects and more:

JavaScript хувьсагчууд нь олон өгөгдлийн төрлийг багтаах боломжтой: тоо, үг үсэг, объект гэх мэт.

      `var length = 16;                               // Number
var lastName = "Johnson";                      // String
var x = {firstName:"John", lastName:"Doe"};    // Object`

## The Concept of Data Types

## Мэдээллийн төрлүүдийн тухай ойлголт

In programming, data types is an important concept.

Програмчлахад өгөгдлийн төрөл нь чухал ойлголт юм.

To be able to operate on variables, it is important to know something about the type.

Хувьсагч дээр ажиллах чадвартай байхын тулд тухайн төрлийн талаар ямар нэгэн зүйлийг мэдэх нь чухал юм.

Without data types, a computer cannot safely solve this:

Мэдээллийн төрлүүдгүйгээр компьютер үүнийг аюулгүйгээр шийдэж чадахгүй:

      `var x = 16 + "Volvo";`

Does it make any sense to add “Volvo” to sixteen? Will it produce an error or will it produce a result?

Арван зургаад “Волво” нэмэх нь утга учиртай юу? Энэ нь алдаа гаргах уу эсвэл үр дүнд хүргэх үү?

JavaScript will treat the example above as:

JavaScript нь дээрх жишээг дараах байдлаар авч үзэх болно:

      `var x = "16" + "Volvo";`

When adding a number and a string, JavaScript will treat the number as a string.

Тоо ба үг нэмэх үед JavaScript нь тоон тэмдэгт мөрийг авч үзэх болно.

### Example Жишээ

      `var x = 16 + "Volvo";`

### Example Жишээ

     `var x = "Volvo" + 16;`

JavaScript evaluates expressions from left to right. Different sequences can produce different results:

JavaScript нь илэрхийлэлийг зүүнээс баруун тийш үнэлдэг. Янз бүрийн дараалал нь өөр өөр үр дүнд хүргэж болно.

### JavaScript:

      `var x = 16 + 4 + "Volvo";`

Result:

Үрдүн:

     `20Volvo`

### JavaScript:

     `var x = "Volvo" + 16 + 4;`

Result: 

Үр дүн:

     `Volvo164`

In the first example, JavaScript treats 16 and 4 as numbers, until it reaches “Volvo”.

Эхний жишээнд, JavaScript нь 16 ба 4-ийг “Волво” хүрэх хүртлээ тоонууд гэж үздэг.

In the second example, since the first operand is a string, all operands are treated as strings.

Хоёрдахь жишээнд эхний операнд нь үг тул бүх операндуудыг үг гэж үздэг.

---

   

---

## JavaScript Types are Dynamic

## JavaScript төрөл нь динамик юм

JavaScript has dynamic types. This means that the same variable can be used to hold different data types:

JavaScript нь динамик төрлүүдтэй байдаг. Энэ нь өөр өөр өгөгдлийн төрлийг хадгалахын тулд ижил хувьсагчийг ашиглаж болно гэсэн үг юм.

### Example Жишээ

      `var x;           // Now x is undefined
x = 5;           // Now x is a Number
x = "John";      // Now x is a String`

## JavaScript Strings

## JavaScript Үгнүүд

A string (or a text string) is a series of characters like “John Doe”.

Үг (эсвэл текстийн үг) нь “Жон Дү” гэх мэт цуврал тэмдэгтүүд юм.

Strings are written with quotes. You can use single or double quotes:

Мөрүүдийг ишлэлээр бичдэг. Та дан эсвэл давхар ишлэл ашиглаж болно:

### Example Жишээ

      `var carName1 = "Volvo XC60";   // Using double quotes
var carName2 = 'Volvo XC60';   // Using single quotes`

You can use quotes inside a string, as long as they don’t match the quotes surrounding the string:

Та мөрийг тойрсон ишлэлүүдтэй таарахгүй бол та ишлэлийг үг дотор ашиглаж болно:

### Example Жишээ

      `var answer1 = "It's alright";             // Single quote inside double quotes
var answer2 = "He is called 'Johnny'";    // Single quotes inside double quotes
var answer3 = 'He is called "Johnny"';    // Double quotes inside single quotes`

You will learn more about strings later in this tutorial.

Та үгний талаар илүү ихийг энэ гарын авлагаас олж мэдэх болно.

---

## JavaScript Numbers

## JavaScript дугаарууд

JavaScript has only one type of numbers.

JavaScript нь зөвхөн нэг төрлийн тоотой байдаг.

Numbers can be written with, or without decimals:

Тоог аравтын бутархай эсвэл аравтын бутархайгүйгээр бичиж болно:

### Example Жишээ

      `var x1 = 34.00;     // Written with decimals
var x2 = 34;        // Written without decimals`

Extra large or extra small numbers can be written with scientific (exponential) notation:

Илүү том эсвэл нэмэлт жижиг тоог шинжлэх ухааны (экспоненциаль) тэмдэглэгээтэй бичиж болно:

### Example Жишээ

      `var y = 123e5;      // 12300000
var z = 123e-5;     // 0.00123`

You will learn more about numbers later in this tutorial.

Та энэ гарын авлагын дараа тоонуудын талаар илүү ихийг мэдэх болно.

---

## JavaScript Booleans

Booleans can only have two values: `true` or `false`.

Буль нь `true` эсвэл `false` гэсэн хоёр утгатай байж болно.

### Example Жишээ

      `var x = 5;
var y = 5;
var z = 6;
(x == y)       // Returns true
(x == z)       // Returns false`

Booleans are often used in conditional testing.

Booleans нь ихэвчлэн нөхцөлт туршилтанд ашиглагддаг.

You will learn more about conditional testing later in this tutorial.

Та болзолт туршилтын талаар илүү ихийг энэ гарын авлагаас олж мэдэх болно.

---

## JavaScript Arrays

## JavaScript Багцууд

JavaScript arrays are written with square brackets.

JavaScript багцыг дөрвөлжин хаалттайгаар бичдэг.

Array items are separated by commas.

Багц зүйлийг таслалаар тусгаарлана.

The following code declares (creates) an array called `cars`, containing three items (car names):

Дараах код нь гурван зүйлийг (автомашины нэр) агуулсан `cars` нэртэй багцыг зарлаж (үүсгэдэг).

### Example Жишээ

      `var cars = ["Saab", "Volvo", "BMW"];`

Array indexes are zero-based, which means the first item is [0], second is [1], and so on.

Багцын индексүүд тэг дээр суурилсан бөгөөд эхний зүйл нь [0], хоёр дахь нь [1] гэх мэтийг хэлнэ.

You will learn more about arrays later in this tutorial.

Багцын талаар илүү ихийг энэ гарын авлагаас авах болно.

---

## JavaScript Objects

JavaScript objects are written with curly braces `{}`.

JavaScript объектыг буржгар хаалтаар бичдэг `{}`.

Object properties are written as name:value pairs, separated by commas.

Объектын шинж чанарыг нэр хэлбэрээр бичнэ: утгын хос, таслалаар тусгаарлана.

### Example Жишээ

      `var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};`

The object (person) in the example above has 4 properties: firstName, lastName, age, and eyeColor.

Дээрх жишээн дэх объект (хүн) нэр, овог, нас, eyeColor гэсэн 4 шинж чанартай.

You will learn more about objects later in this tutorial.

Та энэ гарын авлагын дараа объектуудын талаар илүү ихийг мэдэх болно.

---

## The typeof Operator

You can use the JavaScript `typeof` operator to find the type of a JavaScript variable.

Та JavaScript хувьсагчийн төрлийг олохын тулд JavaScript `typeof` операторыг ашиглаж болно.

The `typeof` operator returns the type of a variable or an expression:

`typeof` оператор нь хувьсагчийн эсвэл илэрхийллийн төрлийг буцаадаг.

### Example Жишээ

      `typeof ""             // Returns "string"
typeof "John"         // Returns "string"
typeof "John Doe"     // Returns "string"`

### Example Жишээ

     `typeof 0              // Returns "number"
typeof 314            // Returns "number"
typeof 3.14           // Returns "number"
typeof (3)            // Returns "number"
typeof (3 + 4)        // Returns "number"`

## Undefined

## Тэмдэглэгдээгүй

In JavaScript, a variable without a value, has the value `undefined`. The type is also `undefined`.

JavaScript-д утгагүй хувьсагч нь `undefined` утгатай байдаг. Төрөл нь бас `undefined` байна.

### Example Жишээ

      `var car;    // Value is undefined, type is undefined`

Any variable can be emptied, by setting the value to `undefined`. The type will also be `undefined`.

`undefined` утгыг тохируулснаар ямар ч хувьсагчийг хоослох боломжтой. Төрлийг мөн `undefined` болно.

### Example Жишээ

      `car = undefined;    // Value is undefined, type is undefined`

## Empty Values

## Хоосон утга

An empty value has nothing to do with `undefined`.

Хоосон утга нь `undefined` ямар ч холбоогүй болно.

An empty string has both a legal value and a type.

Хоосон үгийн хувьсагч нь боломжтой утга ба төрөл хоёулаа  байдаг.

### Example Жишээ

      `var car = "";    // The value is "", the typeof is "string"`

## Null

In JavaScript `null` is “nothing”. It is supposed to be something that doesn’t exist.

JavaScript-д `null` нь “юу ч биш” юм. Энэ нь огт байдаггүй зүйл байх ёстой гэж үздэг.

Unfortunately, in JavaScript, the data type of `null` is an object.

Харамсалтай нь JavaScript дээр `null` гэсэн өгөгдлийн төрөл нь объект юм.

You can consider it a bug in JavaScript that `typeof null` is an object. It should be `null`.

Та үүнийг JavaScript дээрх алдаа`typeof null` гэж үзэж болно. Энэ нь `null` байх ёстой.

  You can empty an object by setting it to `null`:

Та объектыг хоосон болгож тохируулж `null` боломжтой:

### Example Жишээ

      `var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = null;    // Now value is null, but type is still an object`

You can also empty an object by setting it to `undefined`:

Та объектыг `undefined` болгож тохируулж хоослох боломжтой:

### Example Жишээ

      `var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
person = undefined;   // Now both value and type is undefined`

## Difference Between Undefined and Null

## Тодорхойгүй ба тэг хоорондын ялгаа

`undefined` and `null` are equal in value but different in type:

`undefined` ба `null` нь утгын хувьд тэнцүү боловч төрлөөр нь ялгаатай:

        `typeof undefined           // undefined
typeof null                // object

null === undefined         // false
null == undefined          // true`

## Primitive Data

A primitive data value is a single simple data value with no additional properties and methods.

Анхны өгөгдлийн утга гэдэг нь нэмэлт шинж чанар, аргачлалгүй энгийн нэг өгөгдлийн утгыг хэлнэ.

The `typeof` operator can return one of these primitive types:

`typeof` оператор нь эдгээр командын төрлүүдийн аль нэгийг буцааж өгөх боломжтой.

- `string`
- `number`
- `boolean`
- `undefined`

### Example Жишээ

      `typeof "John"              // Returns "string"
typeof 3.14                // Returns "number"
typeof true                // Returns "boolean"
typeof false               // Returns "boolean"
typeof x                   // Returns "undefined" (if x has no value)`

## Complex Data

The `typeof` operator can return one of two complex types:

`typeof` оператор нь хоёр нарийн төвөгтэй төрлүүдийн аль нэгийг буцааж өгөх боломжтой.

- `function`
- `object`

The `typeof` operator returns “object” for objects, arrays, and null.

`typeof` оператор нь объект, массив, null-д зориулж “объект” буцаадаг.

The `typeof` operator does not return “object” for functions.

`typeof` оператор нь функцэд зориулж “объект” буцаадаггүй.

### Example Жишээ

      `typeof {name:'John', age:34} // Returns "object"
typeof [1,2,3,4]             // Returns "object" (not "array", see note below)
typeof null                  // Returns "object"
typeof function myFunc(){}   // Returns "function"`

The `typeof` operator returns “`object`” for arrays because in JavaScript arrays are objects.

JavaScript багцад объект байдаг тул `typeof` оператор багцын хувьд “`object`” буцаадаг.

         [https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fjavascript-data-types%2F&linkname=JavaScript%20Data%20Types](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fjavascript-data-types%2F&linkname=JavaScript%20Data%20Types)[https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fjavascript-data-types%2F&linkname=JavaScript%20Data%20Types](https://www.addtoany.com/add_to/mastodon?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fjavascript-data-types%2F&linkname=JavaScript%20Data%20Types)[https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fjavascript-data-types%2F&linkname=JavaScript%20Data%20Types](https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fapprentice.mn%2Fdocs%2Fjavascript-data-types%2F&linkname=JavaScript%20Data%20Types)[https://www.addtoany.com/share](https://www.addtoany.com/share)
