JavaScript - 문제 미리보기
문제 413
hard
다음 복합적인 타입 변환 상황을 분석하세요:
```javascript
let a = "10";
let b = "5";
let c = true;
let result1 = +a + +b; // A
let result2 = a + b; // B
let result3 = Number(c) + +a; // C
let result4 = String(+a + +b); // D
```
A, B, C, D의 순서대로 올바른 결과는?
정답: A
각각의 변환 과정을 단계별로 분석하면:
1) `+a + +b`: unary +로 "10"→10, "5"→5, 따라서 10+5=15
2) `a + b`: 문자열 + 문자열이므로 "10"+"5"="105"
3) `Number(c) + +a`: true→1, "10"→10, 따라서 1+10=11
4) `String(+a + +b)`: 먼저 +a+b=15 계산 후 String()으로 "15"
이처럼 연산자의 순서와 타입 변환 규칙을 정확히 이해하는 것이 중요합니다.
💡 학습 팁
이 문제를 포함한 JavaScript 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.