조건 연산자(삼항 연산자)
조건 ? truthy 할 때 표현식 : falsy 할 때 표현식
function passChecker(score) {
return score < 70 ? ‘합격’ : ‘불합격!’;
}
console.log(passChecker(90));
--
let msg = x > 3 ? 'x는 3보다 크다.' : 'x는 3보다 크지 않다.';
배열에 담긴 값들이 각각 개별의 값으로 펼쳐짐.
const snacks = ['원카칩', '꿀버터칩', '헛스윙칩', '태양칩', '야채시간'];
const drinks = ['사이다', '콜라', '우유', '물', '커피', '레몬에이드'];
function printArguments(...args) {
for (const arg of args) {
console.log(arg);
}
}
// 1. Spread 구문을 활용해서 sancks와 drinks 배열을 각각 mySnacks와 myDrinks 변수에 복사
const mySnacks = [...snacks];
const myDrinks = [...drinks];
mySnacks.splice(2, 3);
myDrinks.splice(1);
// 2. Spread 구문을 활용해서 mySnacks와 myDrinks 순서로 두 배열을 합쳐서 myChoice 변수에 할당
const myChoice = [...mySnacks, ...myDrinks]
// 3. Spread 구문을 활용해서 myChoice의 각 요소들을 printArguments 함수의 아규먼트로 전달
printArguments(...myChoice);
//실행결과
원카칩
꿀버터칩
사이다
const latte = {
esspresso: '30ml',
milk: '150ml'
};
const cafeMocha = {
...latte,
chocolate: '20ml',
}
console.log(latte); // {esspresso: "30ml", milk: "150ml"}
console.log(cafeMocha); // {esspresso: "30ml", milk: "150ml", chocolate: "20ml"}
getAge: getAge(),
→ getAge,
)getFullName: function()
→ getFullName()
)[’김’ + ‘다은’]: ‘value’,
)const snacks = ['원카칩', '꿀버터칩', '헛스윙칩', '태양칩', '야채시간'];
const [daeun, joohyun, hyunsuk, bongjoo] = snacks;
// const daeun = snacks[0]; 이런 식으로 하나씩 할당해줘야 하는 거 한번에 가능
// 할당되는 값이 배열의 형태일 때만 가능
// '야채시간' 처럼 넘치는 값은 변수 할당 안됨
const [daeun, joohyun, hyunsuk, ...bongjoo] = snacks;
// 나머지 요소는 모두 변수 봉주로 할당 ['태양칩', '야채시간']
const [daeun, joohyun, hyunsuk, bongjoo,hyunji, yewon = '없음'] = snacks;
// 예원에는 undifinde 할당됨. 혹은 기본값 할당 시킬 수 있음
let mac = '다은';
let lg = '주현';
[mag, lg] = [lg. mac]
// 두 변수값을 바꿀 수 있음.
const user1 = {
name: '김다은',
team: 2,
'birth-day': '2000' // 이렇게 변수 명으로 사용할 수 없는 프로퍼티 네임은 새로운 이름으로 할당받아야 함
}
const name = user1.name;
const team = user1.team;
const { name, team } = user1;
// 다른 이름으로 할당받고 싶다면?
const { name: userName, team } = user1; // name을 userName으로 선언
ReferenceError
: 존재하지 않는 변수나 함수를 호출할 때 (+변수가 선언되기 전)TypeError
: 잘못된 방식으로 자료형을 다뤘을 때 발생(함수 또는 변수의 값이 예상치 못한 유형일 때)SyntaxError
: 문법(언어 사양)을 지키지 않았을 때 발생하는 에러 (코드를 실행시키기 전에 에러를 발생시킴)throw error
- throw error
가 적힌 열에서 직접 만든 에러가 발생하고, 그 아래 줄들은 실행안됨.try {
// 코드
} catch (error) {
// 에러가 발생했을 때 동작할 코드
// (에러가 발생했을 때 바로 코드가 종료되는 게 아니라, catch문 안에 코드가 동작하게 됨.)
} finally {
// 항상 실행할 코드
}
try catch문을 썼을 때는 생성된 error
객체가 바로 콘솔에 출력되는 게 아니라 error
라는 파라미터(catch (error)
)에 전달됨. (꼭 error라고 안써도 됨. 파라미터 이름 정할 수 있음)
console.log(error);
, console.error(error);
이런 식으로 출력하면 볼 수 있음try catch문 활용하기