강의

멘토링

커뮤니티

Inflearn Community Q&A

kimshk29881455's profile image
kimshk29881455

asked

Learning JavaScript while making web games

Count the number of mines around you

5분 25초 질문입니다.

Written on

·

305

3

배열 인덱스안에 -1이 들어가면 안되니까 concat으로 처리해주셨는데

왜 [][칸] 은 영향을 주지 않나요?

0,0을 누르면 칸도 -1이 되는거 아닌가요 강사님?

javascript

Answer 4

4

테스트 해보았는데 그냥....

이렇게 아래와 같이 작동한다 라고만 알고 넘어가면 될듯 싶네요.

어차피 키포인트는 값이 에러만 나지않는다면

undefined 여도 filter 메서드로 다 걸러내니까요.

var test = [[1],[2],[3]];

// 이하 에러.
console.log(test[-1][0]);
console.log(test[99][0]);

// 이하 undefined;
console.log(test[0][-1]);
console.log(test[0][99]);

// 요 이하도 undefined;
console.log(test[-1]);
console.log(test[99]);

0

자바스크립트는 배열의 index가 범위를 초과(심지어 음수 인덱스까지)해도 에러를 내지않습니다. 대신 undefined를 반환하죠.

따라서 test[-1][0] -> undeifned[0] ->  syntax error 가되죠.

반면 test[0][-1]의 경우는

test[0][-1] ->  arr[-1] 이 되고 범위를 초과한 배열은 undefined를 반환합니다.

0

kimshk29881455님의 프로필 이미지
kimshk29881455
Questioner

더 설명이 필요한데 무슨 키워드로검색을 하면 좋을까요?

0

zerocho님의 프로필 이미지
zerocho
Instructor

-1이 돼도 칸 부분에서는 에러는 안 납니다.

kimshk29881455's profile image
kimshk29881455

asked

Ask a question