JavaScript

기본 연산자와 형 변환

시미금 2021. 8. 12. 00:15

"" + 1 + 0

"" - 1 + 0

true + false

6 / "3"

"2" * "3"

4 + 5 + "px"

"$" + 4 + 5

"4" - 2

"4px" - 2

7 / 0

" -9 " + 5

" -9 " - 5

null + 1

undefined + 1

" \t \n" - 2

 

위 질문들에 답을 잘찾는다면 연산자에 의한 형변환을 이해한것이다.

 

"" + 1 + 0 // ""는 문자열. 문자열과 숫자의 덧셈은 문자형으로 형 변환이 되어 문자열이 합쳐진다. "1" + 0. "10".

"" - 1 + 0 // ""는 문자열. 문자열과 숫자의 뺄셈은 숫자형으로 형 변환이 되기 때문에 ""은 0이다. 0 -1 +0. -1.

 

true + false // 1 + 0 = 1.

6 / "3"  // 2

"2" * "3"  // 6

4 + 5 + "px"  // 9 + "px", "9px"

"$" + 4 + 5  // "$4" + 5, "$45"

"4" - 2  // 2

"4px" - 2  // NaN - 2. NaN

7 / 0  // infinite

" -9 " + 5  // " -9 5"

" -9 " - 5  // -14

null + 1  // 0 + 1. 1.

undefined + 1  // NaN + 1. NaN

" \t \n" - 2  // 문자열이 숫자형으로 변할 땐 문자열 앞뒤의 공백이 삭제됩니다. 뺄셈 연산자 앞의 피연산자는 공백을 만드는 문자 \t와 \n, 그 사이의 “일반적인” 공백으로 구성됩니다. 따라서 " \t \n"는 숫자형으로 변환 시 길이가 0인 문자열로 취급되어 숫자 0이 됩니다.

 

728x90