미니 프로젝트며, 코딩 테스트를 조금 하게 된 뒤에 다시 언어 기초 공부로 돌아오니 진정한 의미로 이해되는 부분이 늘어났고, 처음에는 그 의미를 잘 이해하지 못 했던 개념들이 다시금 와닿는다. 오늘의 TIL을 잘 정리해 보도록 한다.
let object = {};
let array = [];
let objInArray = [{}];
객체는 꽤 무한히 자유롭다. function도 객체로써 기능한다. 배열은 객체도 포함할 수 있다. 객체와 배열 문법을 잘 이해하고 사용할 수 있어야만, 차후에 현업에서 일 하는 게 가능할 것 같다.
if (i === 0 && i =< 1) {
i++
if (j === 2 || i === 3) {
j++
}
}
and 연산자와 or 연산자. if문과 함께 좀 더 유연한 구현과 조건을 세세히 나누는 로직에 큰 도움이 된다. i가 0이고,(&&) 1보다 작거나 같으면, i 증가. 그리고 j가 2와 같거나, 혹은(||) 3과 같으면 j 증가. 라고 이해할 수 있다.
let x = 2;
let result = (x < 10) ? true : false;
이해가 복잡하지만, if/ else 문을 간단하게 대체하기도 좋고, 깊게 응용하면 좀 더 큰 논리비교를 한 코드에 작성할 수 있어서 좋은 것 같다. 가독성은 좀 떨어진다.
let car = 'Honda CR-V'
switch (car) {
case 'Honda CR-V':
console.log('Welcome Honda!')
break;
case 'Lexus IS250':
console.log('Welcome Lexus!')
break;
case 'Kia Sportage':
console.log('Welcome Kia!')
break;
}
Switch 문은 논리 검토를 하여 실행시키는 느낌보다는 좀 더 자료 수신적인 측면으로 결과를 내보내는 느낌이라, 분명히 용도에 맞는 용처가 있을 거라고 생각한다.
Object.entries()
Object.assign()
이미 만들어진 어떤 객체의 키-밸류 값을 가져와 배열로 반환하는 entries.
이미 만들어진 어떤 객체를 그대로 복사하여 새 객체를 만드는 assign.
let arr = [1,2,3,4,5]
let newArr = [...arr, 6]
console.log(newArr) // = [1,2,3,4,5,6]
Spread는 ...을 붙여 사용할 수 있다. 배열이나 객체를 전개하여 새로운 선언명으로 복사할 수 있다. 필요하다면, 어떤 값을 더 추가하여 복사할 수도 있다.