간단한 코드 문제~ 정보
간단한 코드 문제~본문
이 사이트 게시글에서 본 문제였는데
function sum(a, b) {
return a + b;
}
sum(1, "2");
=================
A: NaN
B: TypeError
C: "12"
D: 3
이런 문제 모아놓은 사이트나 문제 답변 부탁드립니다~~
감사합니다!
추천
0
0
댓글 5개
AI를 활용해보시죠
답 C 같아요
답은 B: TypeError입니다.
sum 함수에 전달되는 두 번째 인수인 "2"는 문자열입니다. JavaScript에서 문자열과 숫자의 덧셈 연산은 문자열 연결(concatenation)으로 처리됩니다. 따라서 숫자 1과 문자열 "2"를 더하면 "12"라는 문자열이 반환됩니다. 그러나 코드에서 함수 sum의 반환 타입은 숫자(number)이므로, 이 연산은 예기치 않은 동작을 일으키며 TypeError를 발생시킵니다.
이 코드는 숫자 1과 문자열 "2"를 더하려고 하기 때문에, 타입 에러(TypeError)가 발생합니다.
JavaScript에서는 서로 다른 타입의 값을 직접 더하는 것은 허용되지 않습니다. 이 경우에는 숫자와 문자열을 변환한 후에 더해야 합니다.
아래와 같이 코드를 수정하면 됩니다.
function sum(a, b) { return Number(a) + Number(b); } sum(1, "2"); // 결과는 3
이렇게 하면, a와 b를 모두 숫자로 변환한 후에 더하기 연산을 수행하기 때문에, 올바른 결과를 얻을 수 있습니다.