티스토리 뷰

 

지뢰찾기 게임 강의를 들으면서 귀에 남는 것을 작성하겠다...(정말 얼마 되지 않았다..)

 

줄,칸의 갯수를 배열로 나열할 경우

const row =10;

const cell = 10;



const candidate = Array(row * cell).fill().map((arr, i) => {

return i;

});

[0....99]까지의 배열이 출력된다


연산자

a && b 연산자 - a가 존재하면(true) b를 실행해라

 

a || b 연산자 - a가 존재하지 않으면(falsy값들(공백 및 null 포함)) b를 실행해라

 

a??b 연산자 - a가 null or undefined 이면 b를 실행한다(||보다 범위가 좁혀진다)


만약 콘솔에서 아래 error가 난경우

cannot read property '1' of [null or undefined]

-> data[-1][-1] 이 빨간 줄(글자색을 빨간색으로 변경)앞 부분이 undefined 인것이다.

data[-1]이 undefined이면, undefined[-1]이니까 에러가 날 수 밖에 없다.

그러니까, data[-1]?.[-1]을 해서 오류를 잡자!!

 


재귀함수는 자기자신을 자기가 부르는 것!

그래서 스택이 오버가 될 수 있다.. 그러니, 스택에 옮기기 전 백그라운드에 옮겨 태스크 큐를 거친다음 스택 순서가 다 실행된 다음 태스크큐에서 꺼내쓰면 스택이 오버가 되지 않는다!(이벤트루프)

 

백그라운드에 옮기는 방법- setTimeout으로 감싸준다.

하지만 setTimeout으로도 재귀함수의 에러를 막을 수 없는 경우....

 

1. 오픈하는 배열을 만들어 한번 오픈한 것은 다시 열수 없도록...순서대로 천천히 할수 있도록 하기(이건 코드 봐야 아는 말이다)

 

 

댓글