• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문드립니다. (변수 선언 후 초기값 할당에 관하여)

21.04.08 16:04 작성 조회수 118

0

안녕하십니까 선생님. 강의 잘 듣고 있습니다. 질문이 있어서 질문 드립니다.

아래는 [코딩시간]에 제가 코딩해 본 코드입니다.

결과값으로는 짝수누적값 650, 홀수누적값 625, 전체누적값 1275을 얻었습니다.

★질문 :

저는 변수 선언 후, 반복문 들어가기 전에 null값을 초기값으로 할당해 주었는데, 다른 분은 0을 할당하시기도 하더라고요..... 널값을 할당하든, 0을 할당하든 결과값은 동일한 것을 확인하였지만, 보통 아래와 같은 코딩을 쓸 때, 널과 0중에 어떤 값을 초기에 할당하는지 궁금하여 질문드립니다...

저는 반복문 들어가기 전에는 값이 숫자인지 무엇인지 미리 할당하지 않는 편이 낫다고 생각해서 0이 아닌 .. 아무것도 없는 값(?)인 널값을 할당하였습니다만.. 결과값이 숫자임이 명확한(1~50 의 양수 무엇을 더해도 결과값은 반드시 숫자) 아래와 같은 코드에서는 초기값에 0을 할당하는 것이 더 코딩적(?)으로 혹은 수학적으로 정확한 것일까요???

이 질문이 .. 좀 이상한 질문일 수도 있겠지만 ㅠ...

비전공 출신으로 물어볼 데가 없어서 선생님께 질문드리는 점 양해부탁드리겠습니다.ㅠㅠ

//변수선언
var totalOdd;
var totalEven;
var totalNum;
var Result;

//변수에 null 할당
totalOdd = null;
totalEven = null;
totalNum = null;

//1부터 50 반복문
for (i = 1; i <= 50; i++) {
Result = i % 2; //나머지값 구하기 = i를 2로 나누기
if (Result === 0) {
//나머지가 0과 일치할 경우
totalEven = totalEven + i; // 짝수끼리 더하기
} else {
//나머지가 0이 아닌 경우 (1인 경우)
totalOdd = totalOdd + i; //홀수끼리 더하기
}
totalNum = totalNum + i; //전체 더하기
}
console.log(totalEven);
console.log(totalOdd);
console.log(totalNum);

답변 1

답변을 작성해보세요.

0

초기값에 0을 할당하는 것이 더 코딩적(?)으로 혹은 수학적으로 정확한 것일까요???

==> null과 0은 1, 2, 3, "A", "B" 처럼 값입니다. 
null은 값이 없는 것을 나타내는(뜻하는) 값이고, 0은 숫자 값으로 값이 0입니다. 다릅니다.
if (value === null){ }과 if (value === 0)의 비교에서 null과 0은 다릅니다.

null + 1을 하면 자바스크립트가 null을 0으로 바꾸어 연산하므로 에러가 나지 않는 것이지, 연산하려면 0을 사용해야 합니다. (null + 1)은 정상이 아니며 (0 + 1)이 정상입니다.

console.log("abc" + null) ==> abcnull
console.log("abc" + 0) ==> abc0



결국 반복문 내에서의 연산을 위해서는 0을 할당해두는 것이 맞다는 것이군요,,,, 역시 기본개념에 대한 이해가 확실하게 잡혀있어야 되는 것을 다시 느낍니다 ㅠㅠ... 설명 감사합니다.

강좌에 프로그램 언어의 기본 대부분이 담겨 있습니다. 어깨를 툭 치면 그 쪽으로 고개가 돌아가듯이 즉, 동물적 감각을 만들어야 합니다.  이렇게 만드는 것의 지름길은 코딩하면서 반복하는 것입니다. 5번이고 10번이고 코딩의 반복입니다. 그러면 감각이 만들어 집니다.