Turing pagbabagong uri

Number() Pagbabago ng number,String() Pagbabago ng string,Boolean() Pagbabago ng Boolean value.

Mga Uri ng Dati ng JavaScript

May limang uri ng datos na maaaring magkaroon ng halaga sa JavaScript:

  • String (string)
  • Number (number)
  • Boolean (boolean)
  • Object (object)
  • Function (function)

May tatlong uri ng object:

  • Object (Object)
  • Date (Date)
  • Array (Array)

May dalawang uri ng datos na walang halaga:

  • null
  • undefined

operator typeof

Maaari mong gamitin typeof Mga operator upang matukoy ang uri ng datos ng JavaScript variable.

Mga halimbawa

typeof "Bill"                 // Nangyari ang "string"
typeof 3.14                   // Nangyari ang "number"
typeof NaN                    // Nangyari ang "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"

Subukan mo ito

请注意:

  • NaN 的数据类型是数值
  • 数组的数据类型是对象
  • 日期的数据类型是对象
  • null 的数据类型是对象
  • 未定义变量的数据类型是 undefined
  • 尚未赋值的变量的数据类型也是 undefined

您无法使用 typeof 去判断 JavaScript 对象是否是数组(或日期)。

typeof 的数据类型

typeof 运算符不是变量。它属于运算符。运算符(比如 + - * /)没有数据类型。

但是,typeof 始终会返回字符串(包含运算数的类型)。

constructor 属性

constructor 属性返回所有 JavaScript 变量的构造器函数。

Mga halimbawa

"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             // Bumalik "function Date()    { [native code] }"
function () {}.constructor         // Bumalik "function Function(){ [native code] }"

Subukan mo ito

Maaari mong suriin sa pamamagitan ng constructor property upang matukoy kung ang bagay ay array (nakakasangguni sa salitang "Array"):

Mga halimbawa

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}

Subukan mo ito

O mas madali, makakita ka kung ang bagay ay function ng array:

Mga halimbawa

function isArray(myArray) {
    return myArray.constructor === Array;
}

Subukan mo ito

Maaari mong suriin sa pamamagitan ng constructor property upang matukoy kung ang bagay ay petsa (nakakasangguni sa salitang "Date"):

Mga halimbawa

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}

Subukan mo ito

O mas madali, makakita ka kung ang bagay ay function ng petsa:

Mga halimbawa

function isDate(myDate) {
    return myDate.constructor === Date;
}

Subukan mo ito

Turing pagbabagong uri

Ang variable ng JavaScript ay maaaring i-convert sa bagong variable at ibang uri ng data:

  • Sa pamamagitan ng paggamit ng function ng JavaScript
  • Sa pamamagitan ng JavaScript mismoAutomatikoPagbabagong uri

I-convert ang numero sa string

Pangkalahatang method String() Makakatransformasyon ang numero sa string.

Maaring gamitin ito sa anumang uri ng numero, teksto, variable o ekspresyon:

Mga halimbawa

String(x)         // Bumalik ang string mula sa variable ng numero x
String(123)       // Bumalik ang string mula sa teksto ng numero 123
String(100 + 23)  // Bumalik ang string mula sa numero sa ekspresyon

Subukan mo ito

Mga numero na pamamaraan toString() Ganun din.

Mga halimbawa

x.toString()
(123).toString()
(100 + 23).toString()

Subukan mo ito

SaMga numero na pamamaraanSa kaniyang kabanata, malalaman mo ang mas maraming paraan na maaaring gamitin upang i-convert ang numero sa string:

Mga paraan Paglalarawan
toExponential() Bumalik ang string, i-around ang numero at gamitin ang eksponential na bilang na sistema.
toFixed() Bumalik ang string, i-around ang numero at gamitin ang tinukoy na bilang ng desimal na lugar.
toPrecision() Bumalik ang string, isulat ang numero sa tinukoy na haba.

I-convert ang boolean sa string

Pangkalahatang method String() Maaaring i-convert ang boolean sa string.

String(false)        // Bumabalik sa "false"
String(true)         // Bumabalik sa "true"

Mga pamamaraan ng boolean toString() Ganun din.

false.toString()     // Bumabalik sa "false"
true.toString()      // Bumabalik sa "true"

I-convert ang petsa sa string

Pangkalahatang method String() Maaaring i-convert ang petsa sa string.

String(Date())      

Mga paraan ng petsa toString() Ganun din.

Mga halimbawa

Date().toString()   

SaMga paraan ng petsaSa kanyang kabanata, makikita mo ang iba pang mga paraan na maaaring i-convert ang petsa sa string:

Mga paraan Paglalarawan
getDate() Makakuha ng numero ng araw (1-31)
getDay() O bilang numero ng linggo (0-6)
getFullYear() Makakuha ng walong numero ng taon (yyyy)
getHours() Makakuha ng oras (0-23)
getMilliseconds() Makakuha ng millisecond (0-999)
getMinutes() Makakuha ng minuto (0-59)
getMonth() Makakuha ng buwan (0-11)
getSeconds() Makakuha ng segundo (0-59)
getTime() Makakuha ng oras (mga millisecond mula noong ika-1 ng Enero, 1970)

I-convert ang string sa numero

Pangkalahatang method Number() Maaaring i-convert ang string sa numero.

Ang string na naglalaman ng numero (halimbawa "3.14") ay magiging numero (halimbawa 3.14).

Ang walang laman na string ay magiging 0.

Ang iba pang mga string ay magiging NaN(Hindi isang numero,hindi numero)。

Number("3.14")    // Bumabalik sa 3.14
Number(" ")       // Bumabalik sa 0
Number("")        // Bumabalik sa 0
Number("99 88")   // Bumabalik sa NaN

SaMga numero na pamamaraanSa kanyang kabanata, makikita mo ang iba pang mga paraan na maaaring i-convert ang string sa numero:

Mga paraan Paglalarawan
parseFloat() I-parsa ang string at ibalik bilang floating-point number.
parseInt() I-parsa ang string at ibalik bilang integer.

Unary + operator

Unary + OperatorGinagamit upang i-convert ang variable sa numero:

Mga halimbawa

var y = "5";      // y ay isang string
var x = + y;      // x ay isang numero

Subukan mo ito

Kung hindi maisasagutin ang variable, ito ay magiging numero, ngunit ang halaga ay NaN(Hindi isang numero):

Mga halimbawa

var y = "Bill";   // y ay isang string
var x = + y;      // x ay numero (NaN)

Subukan mo ito

Baguhin ang boolean sa numero

Pangkalahatang method Number() Maaari ring baguhin ang boolean sa numero.

Number(false)     // ibabalik 0
Number(true)      // ibabalik 1

Baguhin ang petsa sa numero

Pangkalahatang method Number() Gagamitin para baguhin ang petsa sa numero.

d = new Date();
Number(d)          

Mga paraan ng petsa getTime() Ganun din.

d = new Date();
d.getTime()        

Pagsasalin ng uri

Kung sinubukan ng JavaScript na operahan ang isang "maling" uri ng datos, ito ay magtatangka na baguhin ang halaga sa "correct" na uri ng datos.

Ang resulta ay hindi palaging ang iniisip mo:

5 + null    // ibabalik 5         dahil null ay nangagbabagong 0
"5" + null  // ibabalik "5null"   dahil null ay nangagbabagong "null"
"5" + 2     // ibabalik 52        dahil 2 ay nangagbabagong "2"
"5" - 2     // ibabalik 3         dahil "5" ay nangagbabagong 5
"5" * "2"   // ibabalik 10        dahil "5" at "2" ay nangagbabagong 5 at 2

Subukan mo ito

pagsasalin ng string

Ang JavaScript ay nagpapakita ng toString() Ang function, kapag sinusubok mong "magpakita" ang object o variable:

document.getElementById("demo").innerHTML = myVar;
// Kung myVar = {name:"Fjohn"}  // toString ay nagbabagong "[object Object]"
// Kung myVar = [1,2,3,4]       // toString ay nagbabagong "1,2,3,4"
// Kung myVar = new Date()      // toString ay nagbabagong ""

Ang numero at boolean ay din ay gagawing string, ngunit hindi talaga malinaw:

// Kung myVar = 123             // toString ay nagbabagong "123"
// Kung myVar = true            // toString ay nagbabagong "true"
// Kung myVar = false           // toString ay nagbabagong "false"

Talahanayan ng Konversiyon ng Tipo ng JavaScript

Ang sumusunod na talahanayan ay naglilista ng resulta ng pagbabalik ng iba't ibang halimbawa ng JavaScript bilang number, string at boolean:

Original Value Pabalik bilang Number Pabalik bilang String Pabalik bilang Logic Subukan
false 0 "false" false Subukan
true 1 "true" true Subukan
0 0 "0" false Subukan
1 1 "1" true Subukan
"0" 0 "0" true Subukan
"000" 0 "000" true Subukan
"1" 1 "1" true Subukan
NaN NaN "NaN" false Subukan
Infinity Infinity "Infinity" true Subukan
-Infinity -Infinity "-Infinity" true Subukan
"" 0 "" false Subukan
"20" 20 "20" true Subukan
"twenty" NaN "twenty" true Subukan
[ ] 0 "" true Subukan
[20] 20 "20" true Subukan
[10,20] NaN "10,20" true Subukan
["twenty"] NaN "twenty" true Subukan
["ten","twenty"] NaN "ten,twenty" true Subukan
function(){} NaN "function(){}" true Subukan
{ } NaN "[object Object]" true Subukan
null 0 "null" false Subukan
undefined NaN "undefined" false Subukan

Ang halimbawa sa mga quote ay nagpapahiwatig na ang halimbawa ay string value.

Mga Halimbawa ng Magulang na HalimbawaIpinapakita ng halimbawa na ang mga programmer ay hindi nais na may halimbawa na halimbawa na hinihiling na magiging value.