JS Төрөл хувиргалт
Number()-г Number, String()-г String, Boolean()-г Boolean төрөлд хувьргадаг.
JavaScript өгөгдлийн төрөл
JavaScript нь таван өөр өөр төрлийн утга агуулдаг өгөгдлийн төрөлтэй.
string
number
object
boolean
function
Эдгээр нь 6-н төрлийн объектуудтай.
Object
Array
String
Date
Number
Boolean
Мөн 2 төрлийн утга агуулаагүй өгөгдлийн төрөлтэй.
null
undefined
typeof Оператор
typeof
оператороор хувьсагчийн өгөгдлийн төрлийг мэдэх боломжтой.
Жишээ нь
typeof "Болд" /* string */
typeof 5.4 /* number */
typeof NaN /* number */
typeof flase /* boolean */
typeof [1, 2, 3] /* object */
typeof {ner:"Болд", nas:38} /* object */
typeof new Date() /* object */
typeof function() {} /* string */
typeof myPhone /* undefined */
typeof null /* object */
Сайн ажиглаарай:
- NaN-н өгөгдлийн төрөл бол number
- array-н өгөгдлийн төрөл бол object
- date-н өгөгдлийн төрөл бол object
- null-н өгөгдлийн төрөл бол object
- undefined-н өгөгдлийн төрөл бол undefined *
- Утга олгоогүй өгөгдлийн төрөл бас undefined * байна.
typeof
оператор нь объектыг массив /array/ эсвэл огноо /date/ эсэхийг тодорхойлж чадахгүй.
typeof операторын өгөгдлийн төрөл
typeof
бол хувьсагч биш оператор юм. (+ - * /) операторуудад өгөгдлийн төрөл гэж байдаггүй.
Гэвч typeof
оператор нь үргэлж string төрлийг буцаадаг.
Байгуулагч шинж чанар
constructor
шинж чанар нь хувьсагч эсвэл объектын байгуулагч функцийг буцаадаг.
Жишээ нь
"Болд".constructor /* function String() {[native code]} */
(5.4).constructor /* function Number() {[native code]} */
flase.constructor /* function Boolean() {[native code]} */
[1, 2, 3].constructor /* function Array() {[native code]} */
{ner:"Болд", nas:38}.constructor /* function Object() {[native code]} */
new Date().constructor /* function Date() {[native code]} */
function() {}.constructor /* function Function() {[native code]} */
Одоо бид байгуулагч шинж чанарыг шалгаж (array гэсэн утга агуулж буй эсэхийг шалгаж) объектыг массив мөн эсэхийг мэдэж болно.
Жишээ нь
function masArray(massiv){
return massiv.constructor.toString().indexOf("Array") > -1;
}
Арай хялбар аргаар буюу объект нь Array функц мөн эсэхийг шалгаж болно.
Мөн адил байгуулагч шинж чанарыг шалгаж (Date гэсэн утга агуулж буй эсэхийг шалгаж) объектыг date
объект мөн эсэхийг мэдэж болно.
Жишээ нь
function ognooDate(ognoo){
return ognoo.constructor.toString().indexOf("Date") > -1;
}
Арай хялбар аргаар буюу Date объект мөн эсэхийг шалгаж болно.
Төрөл хувиргалт
Хувьсагчуудыг шинэ төрөлд болон өөр өгөгдлийн төрөлд хувиргах боломжтой.
JavaScript функцийг ашиглах эсвэл өөрөө автоматаар
Number-г String төрөлд хувиргах
string()
нь ямар ч төрлийн тоо, илэххийлэл, хувьсагчийг хувьргаж чадна.
Жишээ нь
string(n) /* хувьсагчийг strning төрөлд хувиргана */
string(999) /* тоог strning төрөлд хувиргана */
string(999 + 1) /* илэрхийллийн бодоод strning төрөлд хувиргана */
toString()
нь мөн адил дээрх үр дүнг үзүүлнэ.
Жишээ нь
n.toString() /* хувьсагчийг strning төрөлд хувиргана */
(888).toString() /* тоог strning төрөлд хувиргана */
(999 + 1)toString() /* илэрхийллийн бодоод strning төрөлд хувиргана */
Boolean-г String төрөлд хувиргах
string(flase) /* false-г буцаана */
string(true) /* true-г буцаана */
toString() нь мөд адил үр дүнг буцаах болно.
false.string() /* false-г буцаана */
true.string() /* true-г буцаана */
Date-г String төрөлд хувиргах
string(flase) /* "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)" -г буцаана */
toString() нь мөд адил үр дүнг буцаах болно.
false.string() /* "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)" -г буцаана */
String-г тоон төрөлд хувиргах
number()
функцийн тусламжтай string
төрлийн хувьсагчийн тоон төрөлд хувиргаж болно.
number("5.4") /* 5.4 -г буцаана */
number(" ") /* 0 -г буцаана */
number("") /* 0 -г буцаана */
number("77 99") /* NaN -г буцаана */
Илүү дэлгэрэнгүйг өмнөх хичээлээс үзээрэй: Тоон төрөл Number method
Unary + оператор
Unary + оператор нь хувьсагчийг тоон төрөлд хувиргахад ашиглана.
Хувьсагчийн утга тэмдэгт байх үед утга нь Not a Number буюу NaN-г буцаана.
Boolean-г тоон төрөлд хувиргах
number()
функцийн тусламжтай boolean
төрлийн хувьсагчийг тоон төрөлд хувиргаж болно.
number(false) /* 0 -г буцаана */
number(true) /* 1 -г буцаана */
Date-г тоон төрөлд хувиргах
number()
функцийн тусламжтай date
төрлийн хувьсагчийг тоон төрөлд хувиргаж болно.
d = new Date();
number(d) /* 1404568027739-г буцаана */
date
method болон getTime() нь адилхан байх болно.
d = new Date();
d.getTime() /* 1404568027739-г буцаана */