브레인파밍

간단한 코드 문제~

· 2024-03-19 (화) 16:34:31 · 1974 · 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를 모두 숫자로 변환한 후에 더하기 연산을 수행하기 때문에, 올바른 결과를 얻을 수 있습니다.

2024-03-20 (수) 09:53:05

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

답이 C가 맞네요

 

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

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

자유게시판

203,084건
+
제목 글쓴이 날짜 조회
24-03-21 조회 2,208
24-03-21 조회 2,349
24-03-21 조회 2,203
24-03-21 조회 2,009
24-03-21 조회 2,162
24-03-20 조회 2,593
24-03-20 조회 2,371
24-03-20 조회 2,323
24-03-20 조회 2,204
24-03-20 조회 2,136
24-03-20 조회 2,086
24-03-20 조회 1,997
24-03-20 조회 2,343
24-03-19 조회 2,282
24-03-19 조회 2,056
24-03-19 조회 1,975
24-03-19 조회 2,018
24-03-19 조회 2,453
24-03-19 조회 2,464
24-03-19 조회 2,180