ການປ່ຽນປະເພດ JavaScript
- ຫນ້າສະໜາມກ່ອນ JS typeof
- ຫນ້າສະໜາມຕໍ່ໄປ JS ການຈັດຕັ້ງ
Number()
ການປ່ຽນເປັນຈຳນວນ.String()
ການປ່ຽນເປັນຄວາມ.Boolean()
ການປ່ຽນເປັນຄວາມຈະຈັງ.
ຮູບແບບຂໍ້ມູນ JavaScript
JavaScript ມີຫ້າບັນດາບັນດາຄູ່ມືທີ່ສາມາດກວມຄູ່ມືມາ:
- ຄວາມ (string)
- ຈຳນວນ (number)
- ຄວາມຈະຈັງ (boolean)
- ບັນດາບັນດາ (object)
- ພາສາ (function)
ມີສາມບັນດາບັນດາບັນດາຄູ່ມື:
- ບັນດາບັນດາ (Object)
- ວັນທີ (Date)
- ສາຍ (Array)
ມີສອງບັນດາບັນດາຄູ່ມືທີ່ບໍ່ສາມາດກວມຄູ່ມືມາ:
- null
- undefined
ຄູ່ມື typeof
ທ່ານສາມາດໃຊ້. typeof
ຄູ່ມືສັບສັນທີ່ຈະກວດສອບບັນດາຄູ່ມື JavaScript ຂອງຕົວປະກອບຂໍ້ມູນ.
ຕົວຢ່າງ
typeof "Bill" // ການກັບຄືນ "string" typeof 3.14 // ການກັບຄືນ "number" typeof NaN // ການກັບຄືນ "number" typeof false // 返回 "boolean" typeof [1,2,3,4] // 返回 "object" typeof {name:'Bill', age:62} // 返回 "object" typeof new Date() // 返回 "object" typeof function () {} // 返回 "function" typeof myCar // 返回 "undefined" * typeof null // 返回 "object"
请注意:
- NaN 的数据类型是数值
- 数组的数据类型是对象
- 日期的数据类型是对象
- null 的数据类型是对象
- 未定义变量的数据类型是 undefined
- 尚未赋值的变量的数据类型也是 undefined
您无法使用 typeof
去判断 JavaScript 对象是否是数组(或日期)。
typeof 的数据类型
typeof
运算符不是变量。它属于运算符。运算符(比如 +
-
*
/
)没有数据类型。
但是,typeof
始终会返回字符串(包含运算数的类型)。
constructor 属性
constructor
属性返回所有 JavaScript 变量的构造器函数。
ຕົວຢ່າງ
"Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [native code] }" false.constructor // 返回 "function Boolean() { [native code] }" [1,2,3,4].constructor // 返回 "function Array() { [native code] }" {name:'Bill', age:62}.constructor // 返回" function Object() { [native code] }" new Date().constructor // ກັບ "function Date() { [native code] }" function () {}.constructor // ກັບ "function Function(){ [native code] }"
ທ່ານສາມາດກວດກາດັ່ງກ່າວ: constructor
ການກວດກາວ່າບັນດາວິທີຈະເປັນສານ (ບັນຍາ "Array"):
ຕົວຢ່າງ
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
ຫຼືທີ່ງ່າຍກວ່າ, ທ່ານສາມາດກວດກາວ່າບັນດາວິທີຈະເປັນວິທີຂອງສານ:
ຕົວຢ່າງ
function isArray(myArray) { return myArray.constructor === Array; }
ທ່ານສາມາດກວດກາດັ່ງກ່າວ: constructor
ການກວດກາວ່າບັນດາວິທີຈະເປັນວິທີຂອງວັນ (ບັນຍາ "Date"):
ຕົວຢ່າງ
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
ຫຼືທີ່ງ່າຍກວ່າ, ທ່ານສາມາດກວດກາວ່າບັນດາວິທີຈະເປັນວິທີຂອງວັນ:
ຕົວຢ່າງ
function isDate(myDate) { return myDate.constructor === Date; }
ການປ່ຽນປະເພດ JavaScript
ສານວິທີ JavaScript ສາມາດປ່ຽນເປັນສານວິທີໃໝ່ຫຼືຮູບແບບຂໍ້ມູນອື່ນໆ:
- ຜ່ານການນຳໃຊ້ຫຼັກວິທີ JavaScript
- ຜ່ານ JavaScript ດັ່ງກ່າວອັດຕາການປ່ຽນ
ປ່ຽນຈຳນວນເປັນສາຍວິທີ
ພະຍາດທົ່ວໄປ String()
ສາມາດປ່ຽນຈຳນວນເປັນສາຍວິທີ.
ສາມາດນຳໃຊ້ສຳລັບຈຳນວນທີ່ສາມາດທັງໝົດຄື:ຈຳນວນ,ຄຳຕັດ,ສານວິທີ,ສັບສັດ.
ຕົວຢ່າງ
String(x) // ການກັບຄືນຈຳນວນຈາກຂໍ້ມູນທີ່ກໍານົດ String(123) // ການກັບຄືນຈຳນວນຈາກຂະແໜງການຄຳຕັດ String(100 + 23) // ການກັບຄືນຈຳນວນຈາກສັບສັດ
ພື້ນຖານສະນັກງານ toString()
ຄືກັນ.
ຕົວຢ່າງ
x.toString() (123).toString() (100 + 23).toString()
ໃນພື້ນຖານສະນັກງານໃນວັນນີ້ທ່ານຈະຮຽນຫຼາຍກິດຈະກໍາທີ່ສາມາດນຳໃຊ້ເພື່ອປ່ຽນຈຳນວນທີ່ສາມາດການປ່ຽນເປັນສາຍວິທີ:
ພື້ນຖານ | ການອະທິບາຍ |
---|---|
toExponential() | ການກັບຄືນສາຍວິທີຂອງຈຳນວນທີ່ຈະຕັດສິນລະດັບສຳຄັນທີ່ກໍານົດຄືນ. |
toFixed() | ການກັບຄືນສາຍວິທີຂອງຈຳນວນທີ່ຈະຕັດສິນລະດັບສຳຄັນທີ່ກໍານົດຄືນ. |
toPrecision() | ການກັບຄືນສາຍວິທີຂອງຕາມຈຳນວນຄວາມສຳຄັນທີ່ກໍານົດຄືນ. |
ປ່ຽນສະນັກງານເປັນສາມາດ
ພະຍາດທົ່ວໄປ String()
ສາມາດປ່ຽນສະນັກງານເປັນສາມາດ.
String(false) // ກັບຄືນ "false" String(true) // ກັບຄືນ "true"
ພື້ນຖານສະນັກງານ toString()
ຄືກັນ.
false.toString() // ກັບຄືນ "false" true.toString() // ກັບຄືນ "true"
ປ່ຽນວັນເປັນສາມາດ
ພະຍາດທົ່ວໄປ String()
ສາມາດປ່ຽນວັນເປັນສາມາດ.
String(Date())
ພະຍາດວັນທີ toString()
ຄືກັນ.
ຕົວຢ່າງ
Date().toString()
ໃນພະຍາດວັນທີໃນປະຈຳນີ້ວ່າ ທ່ານຈະພົບຫລາຍການນຳໃຊ້ທີ່ສາມາດປ່ຽນຂໍ້ຄວາມວັນເປັນສາມາດ:
ພື້ນຖານ | ການອະທິບາຍ |
---|---|
getDate() | ການຮຽກຮ້ອງວັນ (1-31) |
getDay() | ຫຼືປະກອບດ້ວຍວັນອາທິດ (0-6) |
getFullYear() | ການຮຽກຮ້ອງປີສີ່ທີມ (yyyy) |
getHours() | ການຮຽກຮ້ອງວັນ (0-23) |
getMilliseconds() | ການຮຽກຮ້ອງມື້ວິນາທີ (0-999) |
getMinutes() | ການຮຽກຮ້ອງນາທີ (0-59) |
getMonth() | ການຮຽກຮ້ອງເດືອນ (0-11) |
getSeconds() | ການຮຽກຮ້ອງວິນາທີ (0-59) |
getTime() | ການຮຽກຮ້ອງເວລາ (1970 ປີ 1 ທັນວາທີ 1 ມື້) ເປັນມັນສາມາດ |
ປ່ຽນຂໍ້ຄວາມເປັນອັດຕາ
ພະຍາດທົ່ວໄປ Number()
ສາມາດປ່ຽນຂໍ້ຄວາມເປັນເລກ.
ຂໍ້ຄວາມທີ່ມີເລກ (ອີງຕາມ "3.14") ຈະປ່ຽນເປັນເລກ (ອີງຕາມ 3.14)。
ຂໍ້ຄວາມຟັງຈະປ່ຽນເປັນ 0。
ຂໍ້ຄວາມອື່ນໆຈະປ່ຽນເປັນ NaN
(Not a number,不是数字)。
Number("3.14") // ກັບຄືນ 3.14 Number(" ") // ກັບຄືນ 0 Number("") // ກັບຄືນ 0 Number("99 88") // ກັບຄືນ NaN
ໃນພື້ນຖານສະນັກງານໃນປະຈຳນີ້ວ່າ ທ່ານຈະພົບຫລາຍການນຳໃຊ້ທີ່ສາມາດປ່ຽນຂໍ້ຄວາມເປັນເລກ:
ພື້ນຖານ | ການອະທິບາຍ |
---|---|
parseFloat() | ການບັນທຶກວິທະຍຸພາຍໃນຂໍ້ຄວາມ ແລະກັບຄືນເປັນອັດຕາສາມາດລະດັບສະເຫຼີມ. |
parseInt() | ການບັນທຶກວິທະຍຸພາຍໃນຂໍ້ຄວາມ ແລະກັບຄືນເປັນອັດຕາສາມາດ. |
ການດັງຫນາງ +
ການດັງຫນາງ +
ສັນຍາການສາມາດນຳໃຊ້ທີ່ປ່ຽນສະນັກງານເປັນເລກ:
ຕົວຢ່າງ
var y = "5"; // y ແມ່ນຂໍ້ຄວາມ var x = + y; // x ແມ່ນເລກ
ຖ້າບໍ່ສາມາດປ່ຽນສະນັກງານຫຼາຍແບບຫຼາຍຫົວເລກໄດ້ ຈະກາຍເປັນເລກ ແຕ່ວ່າຄຸນຄ່າຈະແມ່ນ NaN
(Not a number):
ຕົວຢ່າງ
var y = "Bill"; // y ແມ່ນຂໍ້ຄວາມ var x = + y; // x ຖືກກຳນົດເປັນຈຳນວນ (NaN)
ປ່ຽນ boolean ເປັນຈຳນວນ
ພະຍາດທົ່ວໄປ Number()
ກໍ່ສາມາດປ່ຽນ boolean ເປັນຈຳນວນ.
Number(false) // ກຳລັງ 0 Number(true) // ກຳລັງ 1
ປ່ຽນວັນທີເປັນຈຳນວນ
ພະຍາດທົ່ວໄປ Number()
ສາມາດໃຊ້ເພື່ອປ່ຽນວັນທີເປັນຈຳນວນ.
d = new Date(); Number(d)
ພະຍາດວັນທີ getTime()
ຄືກັນ.
d = new Date(); d.getTime()
ປ່ຽນແປງຄວາມຕາມຕົວເລກ
ຖ້າ JavaScript ພະຍາຍາມກະຈາຍບັນດາຄວາມ "ບໍ່ທຳມະດາ" ມັນຈະພະຍາຍາມປ່ຽນຄວາມນັ້ນເປັນ "ທຳມະດາ"
ຜົນຈະບໍ່ຕົກລົງຕາມທີ່ທ່ານຄິດ:
5 + null // ກຳລັງ 5 ຍ້ອນ null ຖືກປ່ຽນເປັນ 0 "5" + null // ກຳລັງ "5null" ຍ້ອນ null ຖືກປ່ຽນເປັນ "null" "5" + 2 // ກຳລັງ 52 ຍ້ອນ 2 ຖືກປ່ຽນເປັນ "2" "5" - 2 // ກຳລັງ 3 ຍ້ອນ "5" ຖືກປ່ຽນເປັນ 5 "5" * "2" // ກຳລັງ 10 ຍ້ອນ "5" ແລະ "2" ຖືກປ່ຽນເປັນ 5 ແລະ 2
ປ່ຽນແປງຄວາມພາສາສຳພັນອາດດຽວ
JavaScript ອາດກະຈາຍຄວາມພາສາສຳພັນຂອງບັນດາຄວາມ: toString()
ຫົວຫນື່ງທີ່ພົບຖ້າທ່ານພະຍາຍາມ "ກະຈາຍ" ໂອກາດ ຫຼື ບັນດາຄວາມ:
document.getElementById("demo").innerHTML = myVar; // ຖ້າ myVar = {name:"Fjohn"} // toString ປ່ຽນແປງເປັນ "[object Object]" // ຖ້າ myVar = [1,2,3,4] // toString ປ່ຽນແປງເປັນ "1,2,3,4" // ຖ້າ myVar = new Date() // toString ປ່ຽນແປງເປັນ ""
ຈຳນວນ ແລະ boolean ຈະຖືກປ່ຽນແປງ ແຕ່ບໍ່ເປັນທີ່ຈະເຫັນ:
// ຖ້າ myVar = 123 // toString ປ່ຽນແປງເປັນ "123" // ຖ້າ myVar = true // toString ປ່ຽນແປງເປັນ "true" // ຖ້າ myVar = false // toString ປ່ຽນແປງເປັນ "false"
ຕາຕະລາງການປ່ຽນປ່ານທີ່ຈະຖືກປ່ຽນປ່ານ JavaScript
ມີການຈັດອອກໃນຕາຕະລາງດ້ານຫນຶ່ງທີ່ສະແດງຄວາມສົມບູນ, ຄຳລຽບ, ແລະ ຄວາມຮູບຮ່າງທີ່ຈະຖືກປ່ຽນປ່ານຈາກຄວາມສົມບູນ JavaScript ທັງໝົດ.
ຄວາມຕົ້ນເຫຼັກ | ການແປງເປັນຈຳນວນ | ການແປງເປັນຄຳລຽບ | ການແປງເປັນຄວາມຮູບຮ່າງ | ການກວດສອບອີກ |
---|---|---|---|---|
false | 0 | "false" | false | ການກວດສອບອີກ |
true | 1 | "true" | true | ການກວດສອບອີກ |
0 | 0 | "0" | false | ການກວດສອບອີກ |
1 | 1 | "1" | true | ການກວດສອບອີກ |
"0" | 0 | "0" | true |
ການກວດສອບອີກ |
"000" | 0 | "000" | true |
ການກວດສອບອີກ |
"1" | 1 | "1" | true | ການກວດສອບອີກ |
NaN | NaN | "NaN" | false | ການກວດສອບອີກ |
Infinity | Infinity | "Infinity" | true | ການກວດສອບອີກ |
-Infinity | -Infinity | "-Infinity" | true | ການກວດສອບອີກ |
"" | 0 |
"" | false |
ການກວດສອບອີກ |
"20" | 20 | "20" | true | ການກວດສອບອີກ |
"twenty" | NaN | "twenty" | true | ການກວດສອບອີກ |
[ ] | 0 |
"" | true | ການກວດສອບອີກ |
[20] | 20 |
"20" | true | ການກວດສອບອີກ |
[10,20] | NaN | "10,20" | true | ການກວດສອບອີກ |
["twenty"] | NaN | "twenty" | true | ການກວດສອບອີກ |
["ten","twenty"] | NaN | "ten,twenty" | true | ການກວດສອບອີກ |
function(){} | NaN | "function(){}" | true | ການກວດສອບອີກ |
{ } | NaN | "[object Object]" | true | ການກວດສອບອີກ |
null | 0 |
"null" | false | ການກວດສອບອີກ |
undefined | NaN | "undefined" | false | ການກວດສອບອີກ |
ຄວາມສົມບູນໃນຄຳລຽບທີ່ຊີ້ແຈງຄວາມສົມບູນຄຳລຽບ.
ຄວາມສົມບູນສີແດງການຊີ້ແຈງ (ບາງ) ຄວາມສົມບູນທີ່ຜູ້ຂັດເງິນບໍ່ຕ້ອງການ.
- ຫນ້າສະໜາມກ່ອນ JS typeof
- ຫນ້າສະໜາມຕໍ່ໄປ JS ການຈັດຕັ້ງ