자바스크립트 문법과 표현

hyeo71·2023년 11월 1일
0

JS

목록 보기
1/2

조건 연산자

조건 연산자는 물음표 기호(?)와 콜론(:)을 사용
(조건) ? (조건이 truthy 할 때 표현식) : (조건이 falsy 할 때 표현식)

객체 Spread

const codeit = { 
  name: 'codeit', 
};

const codeitClone = { 
  ...codeit, // spread 문법!
};

중괄호 안에서 객체를 spread 하게 되면, 객체를 복사 가능

배열을 Spread 하면 새로운 배열을 만들거나 함수의 아규먼트로 쓸 수 있었지만, 객체로는 새로운 배열을 만들거나 함수의 아규먼트로 사용할 수 없다.

객체를 Spread할 때는 반드시 객체를 표현하는 중괄호 안에서 활용

옵셔널 체이닝 연산자

옵셔널 체이닝 연산자 왼편의 프로퍼티 값이 undefined or null이 아니라면 그 다음 프로퍼티 값을 리턴하고 그렇지 않을 경우 undefined을 반환하는 문법

function printCatName(user) {
  console.log(user.cat?.name ?? '함께 지내는 고양이가 없습니다.');
}

const user1 = {
  name: 'Captain',
  cat: {
    name: 'Crew',
    breed: 'British Shorthair',
  }
}

const user2 = {
  name: 'Young',
}

?? = null 병합 연산자
연산자 왼쪽 값이 null, undefined -> 오른쪽 값이 리턴
연산자 왼쪽 값이 null, undefined 이 아니라면 -> 왼쪽 값이 리턴

구조 분해(Destructuring)

배열, 객체와 같이 내부에 여러 값을 담고 있는 데이터 타입을 다룰 때 사용 가능
배열의 요소, 객체의 프로퍼티 값들을 개별적인 변수에 따로 할당해서 사용 가능
기본값, rest 문법 사용 가능

const macbookPro = {
  title: '맥북 프로 16형',
  price: 3690000,
};

const { title, price } = macbookPro;

const { title, price, color = 'silver', ...rest } = macbookPro;

에러와 에러처리

new + 에러 객체 이름의 함수 : 에러 객체 생성
throw : 에러를 발생

throw new TypeError('타입 에러가 발생했습니다.');

try...catch(...finally)

try {
  // 실행할 코드
} catch (error) { // e, err 등의 변수명 사용 가능
  // 에러가 발상했을 때 실행할 코드
} finally {
  // 항상 실행할 코드
}

0개의 댓글