జావాస్క్రిప్ట్ రకం మార్పిడి

Number() 转换数值,String() 转换字符串,Boolean() 转换布尔值。

జావాస్క్రిప్ట్ డేటా టైప్

JavaScript 中有五种可包含值的数据类型:

  • 字符串(string)
  • 数字(number)
  • 布尔(boolean)
  • 对象(object)
  • 函数(function)

有三种对象类型:

  • 对象(Object)
  • 日期(Date)
  • 数组(Array)

మూడు రకాల విలువలను కలిగిన రకాలు ఉన్నాయి:

  • null
  • undefined

typeof కార్యకర్త

మీరు ఉపయోగించవచ్చు typeof కార్యకర్తలు తో జావాస్క్రిప్టు వ్యవస్థాపక రకాన్ని నిర్ధారించండి。

ఉదాహరణ

typeof "Bill"                 // రాబడిపును తిరిగిస్తుంది "పదం"
typeof 3.14                   // రాబడిపును తిరిగిస్తుంది "సంఖ్య"
typeof NaN                    // రాబడిపును తిరిగిస్తుంది "సంఖ్య"
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 జావాస్క్రిప్ట్ ఆబ్జెక్ట్ ను ప్రయిగించడానికి ఉపయోగిస్తారు (లేదా తేదీ).

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] }"
Bill constructor  // తిరిగివచ్చు function Object()  { [native code] }"
new Date().constructor             // అందిస్తుంది "function Date()    { [native code] }"
function () {}.constructor         // అందిస్తుంది "function Function(){ [native code] }"

亲自试一试

మీరు పరిశీలించవచ్చు: constructor ప్రతిపాదన ద్వారా కొన్ని ఆధారాలను తెలుసుకుని, ఒక ఆధారం అర్రే కాదా తనిఖీ చేయవచ్చు:

ఉదాహరణ

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

亲自试一试

లేదా సరళంగా, ఆధారం అర్రే ఫంక్షన్ కాదా తనిఖీ చేయవచ్చు:

ఉదాహరణ

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

亲自试一试

మీరు పరిశీలించవచ్చు: constructor ప్రతిపాదన ద్వారా కొన్ని ఆధారాలను తెలుసుకుని, ఒక ఆధారం డేట్ కాదా తనిఖీ చేయవచ్చు:

ఉదాహరణ

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

亲自试一试

లేదా సరళంగా, ఆధారం డేట్ ఫంక్షన్ కాదా తనిఖీ చేయవచ్చు:

ఉదాహరణ

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

亲自试一试

జావాస్క్రిప్ట్ రకం మార్పిడి

జావాస్క్రిప్ట్ వేరియబుల్స్ కొత్త వేరియబుల్స్ మరియు మరొక రకమైన డేటా రకానికి మార్చబడవచ్చు:

  • జావాస్క్రిప్ట్ ఫంక్షన్స్ ఉపయోగించడం ద్వారా
  • జావాస్క్రిప్ట్ స్వయంగా ద్వారాస్వయంచాలకంగారూపాంతరం

విలువను స్ట్రింగ్‌గా మార్చండి

全局方法 String() సంఖ్యలను స్ట్రింగ్‌గా మార్చడానికి సమర్ధం

ఇది ఏ రకమైన సంఖ్యలు, పదాలు, వేరియబుల్స్ లేదా ప్రక్రియలను కూడా ఉపయోగించవచ్చు:

ఉదాహరణ

String(x)         // వేరియబుల్ 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 నుండి మిలీసెకన్లు గా)

స్ట్రింగ్ని సంఖ్యగా మార్చుట

全局方法 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)

亲自试一试

把布尔转换数值

全局方法 Number() 也可把布尔转换为数字。

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 మార్పు ""

సంఖ్యలు మరియు బుల్ కూడా మార్పు చేయబడతాయి, కానీ కనిపించకుండా ఉంటాయి:

// నా myVar = 123             // toString మార్పు "123"
// నా myVar = true            // toString మార్పు "true"
// నా myVar = false           // toString మార్పు "false"

JavaScript 类型转换表

下表中列出了将不同 JavaScript 值转换为数字、字符串和布尔的结果:

原始值 నమూనా కు మార్చుకోండి స్ట్రింగ్ కు మార్చుకోండి లాజికల్ కు మార్చుకోండి ప్రయత్నించండి
ఫాల్స్ 0 "false" ఫాల్స్ ప్రయత్నించండి
true 1 "true" true ప్రయత్నించండి
0 0 "0" ఫాల్స్ ప్రయత్నించండి
1 1 "1" true ప్రయత్నించండి
"0" 0 "0" true ప్రయత్నించండి
"000" 0 "000" true ప్రయత్నించండి
"1" 1 "1" true ప్రయత్నించండి
NaN NaN "NaN" ఫాల్స్ ప్రయత్నించండి
Infinity Infinity "Infinity" true ప్రయత్నించండి
-Infinity -Infinity "-Infinity" true ప్రయత్నించండి
"" 0 "" ఫాల్స్ ప్రయత్నించండి
"20" 20 "20" true ప్రయత్నించండి
"రెండుపదం" NaN "రెండుపదం" true ప్రయత్నించండి
[ ] 0 "" true ప్రయత్నించండి
[20] 20 "20" true ప్రయత్నించండి
[10,20] NaN "10,20" true ప్రయత్నించండి
["రెండుపదం"] NaN "రెండుపదం" true ప్రయత్నించండి
["పదం","రెండుపదం"] NaN "పదం,రెండుపదం" true ప్రయత్నించండి
function(){} NaN "function(){}" true ప్రయత్నించండి
{ } NaN "[object Object]" true ప్రయత్నించండి
null 0 "null" ఫాల్స్ ప్రయత్నించండి
undefined NaN "undefined" ఫాల్స్ ప్రయత్నించండి

కోవాలలో ఉన్న విలువలు స్ట్రింగ్ విలువలను సూచిస్తాయి.

ఎరుపు విలువకొన్ని ప్రోగ్రామర్లు ఎందుకంటే ఎదుర్కొనబడదు వాలి విలువలను సూచిస్తుంది.