JavaScript 강의

1-5 (중요)형변환(명시적, 암묵적)

kagan-draca 2024. 8. 12. 13:00

1. 정수 + "문자열" or "문자열" + 정수(암묵적 형변환)

위와 같이 

 

정수 + 문자열을 수행할 경우

정수-> 문자열로 형으로 암묵적 형변환이 되고

 

문자열 + 문자열로 출력되는 것을 볼 수 있다.

 

2. bool + "문자열" or "문자열" + bool(암묵적 형변환)

 

"문자열" + bool or bool + "문자열"을 수행할 경우

 

"1true"나 "true1"라는 문자열이 출력 되는걸 볼 수 있다.

 

3. 정수 - "문자열" or 문자열" - 정수(암묵적 형변환)

 

 

"문자열" - 정수 or 정수 - "문자열"

을 수행할 경우

 

암묵적으로 문자열을 정수로 형변환 하여

정수가 출력되는걸 확인할 수 있다.

 

4. 문자열 정수 * (곱하기), /(나누기), %(나머지) 문자열 정수(암묵적 형변환)

 

"문자열 정수" *(곱하기) "문자열 정수"를 수행할 경우

문자열 2개를 정수로 암묵적 형변환을 수행해

정수를 출력한다.

 

5. 문자열로 변환 방법(명시적 형변환)

 

위와 같이

정수, 실수, bool, null, undefined 모두 

문자열로 형변환된 것을 확인 할 수 있다.

 

6. Bool(Boolean)로 변환 방법(명시적 형변환)

위와 같이 Boolean()를 사용하면 정수, 실수, 문자열을 

Bool 타입 변수로 명시적 형변환이 가능하다.

 

Bool 타입의 형 변환은 

변환 할 값 변환 후
0 false
"" false
null false
undefined false
NaN false
   
1 true
정수.소수점 true
"false" true
"true" true
{}(딕셔너리) true
[](배열) true

 

표와 같이 정수 0, ""(공백), null, undefined, Nan은 Bool 타입 false를 출력하고

1, 정수.소수점, "false", "true", {}, []은 true가 출력 되는걸 볼 수 있다.

(Bool 타입에서 0 = false, 나머지 숫자들 = true이기 때문이다.)

 

이를 바탕으로 빈 값, 빈 문자열, 0이 아니라면 true가 반환 되는걸 확인 할 수 있다.

 

7. 정수형 형변환(명시적 형변환)

parseInt <-> Number

 
출력
차이점
변환하고자 하는 값에 문자가 있을 경우 앞 서는 정수가 있을 경우 그 정수만 변환한다. 차이점 변환하고자 하는 값에 문자가 있을 경우 형 변환이 불가능
하다고 Nan(Not a Number)를 출력한다.