2024년 마지막인 오늘, 저는 JS를 공부합니다.
내배캠 강의의 내용 중 몰랐던 내용을 정리합니다.
- JS의 데이터 타입은 따로 지정하지 않는 이상
Runtime때에 지정됩니다.
추가로 데이터 타입을 지정하는 방법은 암묵적, 명시적 방법이 있습니다.
- 화살표 함수
let ex = (a, b) => {
return a + b;
};
function ex(a,b) {
return a + b;
};
위의 두 코드는 동일합니다.
- and조건과 or조건 삼항 연산자와 단축평가
if (a == 'ex') {
console.log("a는 예시입니다.");
};
a == 'ex' && console.log("a는 예시입니다.");
위의 두 코드는 동일합니다.
- 객체 관련 코드
let house = (
name: "APT",
location: "Korea",
type: "apartment"
);
<!--객체의 키와 값 불러오기--!>
let keys = Object.keys(house); // 키 ['name', 'location', 'type']
let values = Object.values(house); // 값 ['APT', 'Korea', 'apartment']
let entries = Object.entries(house); // 객체 요소 [ ['name', 'APT'], ['location', 'Korea'], ['type', 'apartment'] ]
//assign 메소드를 통하여 객체를 복사하고 부분 수정 가능합니다.
let newHouse = {};
Object.assign(newHouse, house, { type: castle }); // { ['name', 'APT'], ['location', 'Korea'], ['type', 'castle'] }
<!--객체 비교--!>
let person1 = {
name: '홍길동',
age: 30,
gender: '남자'
};
let person2 = {
name: '홍길동',
age: 30,
gender: '남자'
};
//JSON의 stringify라는 메소드를 활용해 객체를 문자열화 후 비교
JSON.stringify(person1) === JSON.stringify(person2) // true
<!--객체 병합--!>
let name = {
name: '홍길동'
};
let age = {
age: 30
};
let gender = {
gender: '남자'
};
// ... : spread operator ES6에서 나온 객체의 요소의 키와 값이 지정됨
let 홍길동정보 = {...name, ...age, ...gender}; // { name: '홍길동', age: 30, gender: '남자' }
이번 강의를 들으면서 확실하게 느꼈습니다.
객체 쪽은 조금 더 공부가 필요하겠구나...