언어/Javascript

1월 8일 (토)

ziiko 2022. 1. 8. 15:47

Let's get it 자바스크립트  13강 지뢰찾기 복습 

 

 

1. A && B

A가 존재하면 B를 실행하라는 뜻이다. 

2. A || B

A가 존재하지 않으면 B를 실행하라는 뜻이다.

A가 존재하지 않는 다는 것 : undefined, Null, false, 0, '', NuN

 

** A ?? B

null, undefined 일때 B 를 실행하라는 뜻이다. 

(0을 빈값이 아닌 현실 값으로 사용할 경우에 ?? 을 이용하여 Null , undefined 을 빈값으로 이용하여 사용할 수 있다)

 

3. 2차 배열에서 주의해야 할  undefined (optional chaining)

2차열 배열을 이용하여 구현할 때 주의해야 할 것이 있다. 

왼쪽 이차배열 그림에서의 data[0][0] 대각선 칸인 data[-1][-1]을 콘솔창에 입력하면 에러가 난다. 

data[-1]은 undefined 이며 이 자체로는 아무 문제가 되지 않는다. 

** 자바스크립트에서 인덱스가 - (음수) 값일 경우 아무것도 가지고 오지 않는다. (undefined)

 

하지만 data[-1][-1]을 하게 되면 에러가 난다. 

undefined에[-1] 즉, undefined 를 한 것이기 때문에 에러가 나는 것이다.  

따라서 data[-1][-1]은 undefined[-1] 과 같은 말이 되기 때문에 에러가 난다. 

이것을 방지하기 위한 방법이 두 가지가 있다. 

 

1. if 함수를 이용하여 한 번 보호하기

이러한 방식으로 If 를 이용하여 감싸주면 에러를 방지 할 수 있다.

이 문법은 자바스크립트에서 자주 이용되는 문법이다. 

 

언제? 

1) 객체안에 객체가 들어있는 문장

e.g. 

a.b.cdef.ghe

2) 객체 안에 배열 안에 객체가 들어있는 문장

e.g.

a.hello[0].cdef.ghe

 

문장 안에 하나라도 undefined가 섞여 있으면 에러가 나기 쉽기 때문에 if 문으로 감싸주어 에러를 방지할 수 있다. 

 

 

2. ?. (optional chaining)을 이용하여 에러 방지하기

주로 2차배열의 맨 윗줄과 맨 아랫줄에 위치한 값들에서의 에러를 방지하기 위하여 사용한다.