인프런 커뮤니티 질문&답변

세로수님의 프로필 이미지
세로수

작성한 질문수

웹 게임을 만들며 배우는 자바스크립트

주변 지뢰 개수 세기

5분 25초 질문입니다.

작성

·

234

3

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

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

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

답변 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

세로수님의 프로필 이미지
세로수
질문자

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

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

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

세로수님의 프로필 이미지
세로수

작성한 질문수

질문하기