Javascript에서 Boolean, Nnumber 및 String 캐스트의 차이점에 대해 자세히 이야기해 보겠습니다.
Boolean(value)은 값을 Boolean 유형으로 변환하고, Nnumber(value)는 값을 숫자(정수 또는 부동 소수점 수)로 변환하고, String(value)은 값을 문자열로 변환한다는 것을 알고 있습니다.
먼저 Boolean을 분석해 보겠습니다. Boolean은 변환 값이 "1개 이상의 문자가 포함된 문자열", "0이 아닌 숫자" 또는 "객체"인 경우 true를 반환하고, 변환 값이 "빈 문자열"인 경우 " , "숫자 0", "정의되지 않음", "null"은 false를 반환합니다.
예:
var b1 = Boolean("" );//false 반환, 빈 문자열
var b2 = Boolean("s");//참 반환, 비어 있지 않은 문자열
var b3 = Boolean(0);//false 반환 , 숫자 0
var b4 = Boolean(1);//0이 아닌 숫자인 true 반환
var b5 = Boolean(-1);//0이 아닌 숫자인 true 반환
var b6 = Boolean(null); //false 반환
var b7 = Boolean(undefine); //false 반환
var b8 = Boolean(new Object()) //true 반환, 객체
Next Analyze Number. Number는 전체 값을 변환하는 반면, ParseInt와 ParseFloat는 시작 숫자 부분만 변환할 수 있다는 점이 다릅니다.
예:
Number("1.2.3"), Number("123abc")는 NaN을 반환하고, 반면에parseInt("1.2.3")는 1을 반환하고,parseInt("123abc")는 123을 반환하고,parseFloat는 ("1.2.3")은 1.2를 반환하고, ParseFloat("123abc")는 123을 반환합니다.
Number는 변환할 값을 완전히 변환할 수 있는지 먼저 판단한 다음,parseInt를 호출할지,parseFloat를 호출할지를 결정합니다.
번호를 호출한 결과는 다음과 같습니다.
Number(false) //0을 반환
Number(true) //1을 반환
Number(undefine) //NaN을 반환
Number(null) //0을 반환
Number( "1.2 ") //1.2를 반환
Number("12") //12를 반환
Number("1.2.3") //NaN을 반환
Number(new Object()) //NaN을 반환
Number(123) //Return 123
마지막으로 String을 분석해 보겠습니다. String은 모든 유형의 데이터를 문자열로 변환할 수 있습니다. 예: String(false)의 결과는 "false"입니다. , String( 1)의 결과는 "1"입니다. toString 방식과 약간 다른 점은 다음과 같습니다.
var s1 = null;
var s2 = String(t1);//s2의 값은 "null"입니다.
var s3 = s1.toString();//오류가 발생합니다. 보고됨
var s4;
var s5 = String(t4);//s5의 값이 "정의되지 않음"
var s6 = t4.toString();//오류가 보고됨