브레인파밍

간단한 코드 문제~

· 1년 전 · 1763 · 5

이 사이트 게시글에서 본 문제였는데

 

function sum(a, b) {
  return a + b;
}

sum(1, "2");

 

=================

 

A: NaN
B: TypeError
C: "12"
D: 3

 

이런 문제 모아놓은 사이트나 문제 답변 부탁드립니다~~

감사합니다!

|

댓글 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를 모두 숫자로 변환한 후에 더하기 연산을 수행하기 때문에, 올바른 결과를 얻을 수 있습니다.

타입스크립트가 아니기 때문에

답이 C가 맞네요

 

886904878aeb4705773dfa1d735fd5b0_1710895975_5185.png  develo.co.kr/test.php

댓글을 작성하시려면 로그인이 필요합니다. 로그인

자유게시판

+
제목 글쓴이 날짜 조회
1년 전 조회 2,045
1년 전 조회 1,955
1년 전 조회 1,801
1년 전 조회 1,892
1년 전 조회 2,394
1년 전 조회 2,110
1년 전 조회 2,070
1년 전 조회 1,972
1년 전 조회 1,914
1년 전 조회 1,876
1년 전 조회 1,754
1년 전 조회 2,034
1년 전 조회 2,076
1년 전 조회 1,792
1년 전 조회 1,764
1년 전 조회 1,810
1년 전 조회 2,195
1년 전 조회 2,257
1년 전 조회 1,970
1년 전 조회 1,691
1년 전 조회 1,919
1년 전 조회 1,930
1년 전 조회 2,240
1년 전 조회 1,990
1년 전 조회 2,003
1년 전 조회 1,725
1년 전 조회 1,604
1년 전 조회 1,967
1년 전 조회 2,036
1년 전 조회 1,762
🐛 버그신고