1. 타입 변환 방법 및 주의할 점:
1.Boolean 타입으로 변환:
(1) 두 개의 NOT 연산을 사용합니다 (!):
!! 5 ==> true
(2)는 부울 생성자를 사용합니다.
new Boolean(5) = = > true
부울 유형으로 변환된 값 false:
0, 0, -0, NaN, "" (빈 문자열), 정의되지 않음,null
위 값을 제외한 다른 값은 true, 특별히 언급해야 할 것은 :"0",new Object(),function(){}
2.
을 문자열 유형으로 변환:
(1 ) 빈 문자열 "":123
"" = " 123 "
(2) 문자열 생성자 사용: new String( 123) = "123".
특별한 주의가 필요한 변환: 0 ==> "0"-0 ==> "0"
-Infinity ==>"-Infinity"
Infinity ==>" Infinity"
NaN ==> "NaN"
정의되지 않음 ==> "정의되지 않음"
null ==> "null "
new Object() ==> "[객체 객체]"
function(){} ==> "function(){}"
3.은 숫자 유형으로 변환됩니다.
(1) 양수( ), 0 빼기 ( -0), 곱하기 1, (*1), 나누기 1 (/ 1), 은 음수입니다(-는 반대 값을 얻습니다). .true = 1
(
2) 생성자 사용 Number();new Number("123") = 123
특별한 주의가 필요한 여러 변환:
""(빈 문자열)
==> 0"010" ==> 10"0x10"(16
베이스
) ==> 16 "-010" ==> -10"-0x10" ==> NaN정의되지 않음 ==> NaN
null ==> 0
true = => 1
false ==> 0
new Object() ==> NaN
new function(){} ==> NaN
2. 암시적 유형 변환:
(1)이진 추가 연산(
): 두 개 중 하나인 경우 피연산자는 String 유형입니다. 두 피연산자는 String 유형으로 변환된 다음 두 피연산자에 문자열 유형이 없으면 연산을 수행하기 전에 두 피연산자를 숫자 유형으로 변환합니다.
예:
"123" 123 = "123123";
123 123 = 246
참 참 = 2
true undefine = NaN (undefine은 숫자 값 NaN으로 변환되기 때문에 모든 결과는 NaN)
true null = 1(null을 숫자로 변환하면 0)
"123 " null = "123null" (포함된 문자열은 문자열 추가로 변환됩니다)
"123" undefine = "123undefine" (정의되지 않음 도 적용)
1 2 "123" = "3123" (1 2이 첫 번째 수치 계산)
(2)이진 뺄셈, 곱셈 및 나눗셈 연산(-*/):숫자형에만 - * / 연산이 있으므로 연산을 수행하기 전에 두 피연산자를 숫자형으로 변환합니다.
"123"-123 = 0
(3)1위안 양수( ), 음수 연산자 (-):양수 또는 음수 값을 취하는 것은 수치 연산이므로 연산을 수행하기 전에 피연산자를 수치형으로 변환합니다.
"123" = 123
-"123" = -123
"123e" = NaN
"123f" = NaN
"123e-2" = 1.23
(4)단항 비(!)연산자:비연산자는 변환을 수행해야 합니다. 부울 유형의 숫자입니다.
!"123" = false
!!"123" = true
!123 = false
!!123 = true
(5) 논리 연산자(&&) 및 (||):
은 && 또는 ||의 양면으로 판정되며, 판정을 위해 불리언형으로 변환되며,
그런데 테스트 중 재미있는 사실을 발견했습니다.
&& 연산자: 항목이 false인 경우 표현식은 false, 모든 항목이 false가 아닌 경우 표현식은 가장 오른쪽 항목의 원래 값을 반환합니다.
예: 123 && 23 && 45
반환 45, 우리가 상상했던 것 대신에 사실이다.
그러면 123 && 23 == true 그렇다면 거짓이겠죠.
if(123 && 23) 생각해보면 사실23을 불리언형으로 변환해야 합니다. ||
연산자:
대 || 테스트 결과도 내가 상상한 것과 다릅니다. 둘 다인 경우 false가 아닌 첫 번째 값을 반환합니다. false, false인 마지막 값(유형 변환 전 값)을 반환합니다. 예:
123 || 23 반품 123
, 상상한 true.false || null 대신 null
을 반환합니다. 상상의 거짓 대신.
3. 타입 변환 기능
1.parseFloat 부동 소수점 숫자로 변환:
문자 구문 분석 기능은 숫자가 아닌 문자를 만날 때까지 각 문자를 가져옵니다. value , 그런 다음 얻은 값을 반환합니다 .
특별히 필요한 몇 가지 사항 주의:
""(빈 문자열) ==> NaN
"123e-2" == > 1.23 ( 과학계산방식 인식가능)
"010" ==> 10 (8기본계산식 인식불가)
"0x10"==> 0 (16베이스가 인식되지 않습니다)
"-010 " ==> -10
null,undefine,true,false,new Object(),function(){} ==> NaN
2.parseInt부호 있는 정수로 변환 :
은 parseFloat과 유사하지만 소수점 자리를 반올림합니다( 반올림되지 않고 완전히 폐기된다는 점 참고하세요. Math.floor과 동일하게 처리됩니다), 8진수와 16기본 표현:
123e-2 == > 1"123e-2" ==> 123
"010" == > 8
"0x10" ==> 16
"-010" == > -8
"-0x10" ==> -16
null,undefine, true,false,new Object(),function(){},-Infinity Infinity NaN ==> NaN
3.세 가지 반올림 함수의 차이점 :
(1) Math.ceil(): " 천장” 엄청 선명하죠? 매개변수보다 크거나 같은 가장 작은 정수를 선택하세요. 8.7 == > 9
-8.7==> -8
(2)Math.floor(): "Floor", 는 매개변수보다 작거나 같은 가장 작은 정수를 취합니다.
8.7 ==> 8
-8.7 ==> -9
(3)Math.round(): "라운드 "정수를 가져옵니다.