브레인파밍

간단한 코드 문제~

· 1년 전 · 1778 · 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,071
1년 전 조회 1,975
1년 전 조회 1,812
1년 전 조회 1,906
1년 전 조회 2,406
1년 전 조회 2,128
1년 전 조회 2,091
1년 전 조회 1,991
1년 전 조회 1,937
1년 전 조회 1,896
1년 전 조회 1,773
1년 전 조회 2,073
1년 전 조회 2,097
1년 전 조회 1,809
1년 전 조회 1,779
1년 전 조회 1,829
1년 전 조회 2,215
1년 전 조회 2,275
1년 전 조회 1,996
1년 전 조회 1,707
1년 전 조회 1,947
1년 전 조회 1,946
1년 전 조회 2,279
1년 전 조회 2,018
1년 전 조회 2,039
1년 전 조회 1,745
1년 전 조회 1,621
1년 전 조회 1,982
1년 전 조회 2,064
1년 전 조회 1,777