모던 JavaScript 튜토리얼 스터디 - 4

이정익·2022년 12월 2일
0
post-custom-banner

nullish 병합연산자 '??'

a ?? b로 사용하는데, a가 null도 아니고 undefined도 아니면 b, 그 외의 경우에는 a로 평가된다.

let firstName = null;
let lastName = null;
let nickName = "바이올렛";

// null이나 undefined가 아닌 첫 번째 피연산자
alert(firstName ?? lastName ?? nickName ?? "익명의 사용자"); // 바이올렛

'??'와 '||'의 차이

OR연산자 '||'는, 첫 번째 truthy 값을 반환한다(즉, null, undefined 뿐만아니라 0,"" 등도 반환하지 않게 된다.)
nullish 연산자 '??'는 첫 번째 defined된 값을 반환하게 된다. null undefined 뿐만아니라 숫자 0도 함께 들어올 수 있는 변수를 다룰 때 사용하기 좋다.

반복문에서 break/continue와 레이블

2중 3중으로 작성 된 반복문에서, 가장 하위의 반복문의 일정 조건이 맞으면 반복문을 빠져나와야 하는 경우가 종종 생길 수 있다.
그 때 사용할 수 있는 레이블.

outer: for (let i = 0; i < 3; i++) {

  for (let j = 0; j < 3; j++) {

    let input = prompt(`(${i},${j})의 값`, '');

    // 사용자가 아무것도 입력하지 않거나 Cancel 버튼을 누르면 두 반복문 모두를 빠져나옵니다.
    if (!input) break outer; // (*)

    // 입력받은 값을 가지고 무언가를 함
  }
}
alert('완료!');

함수를 표현하는 두가지 방법 함수 표현식, 함수 선언식

함수 표현식은 함수를 변수 안에 담는 방식, 함수 선언식은 변수에 담지 않고 선언하는 방식이다.

let foo = function() { // 함수 표현식
  ...
};
function bar() { // 함수 선언식
  
};

두가지 방식의 차이중 가장 큰 것은, 호이스팅에 관한 내용이 될 것 같다. 호이스팅은 좀 더 나중에 다시 정리하도록 하자.

profile
주니어 프론트엔드 엔지니어로 한걸음 나아가는 중입니다.
post-custom-banner

0개의 댓글