웹(Web)/HTML&CSS&JS
JS Essential (1)
공.대.남
2023. 2. 10. 16:36
반응형
안녕하세요! 공대남입니다!
오늘은 JS 문법에 대해 알아보겠습니다.
- 1. 삼항연산자
조건문 ? (조건이 참일 때 실행될 코드) : (조건이 거짓일 때 실행될 코드)
- == : 같다
- === : (단순히 값이 아니라 자료형까지) 같다
- 화살표함수
let sum = (a, b) => a + b;
/*
let sum = function(a, b) {
return a + b;
}; 와 동일합니다!
*/
- 얕은 복사 깊은 복사
let user1 = {
name: 'Kim'
};
//얕은복사
let user2 = user1;
console.log(user2); // {name: 'Kim'}
user1.name = '유저1 수정'
console.log(user2); // {name: '유저1 수정'}
//깊은복사
let user2 = Object.assign({}, user1);
console.log(user2); // {name: 'Kim'}
- pop, push, shift, unshift
- 배열은 for in 보다 for of 가 10배이상 빠름
let fruits = ["사과", "바나나", "배"];
for (let fruit of fruits) {
alert(fruit);
}
- 객체를 배열로 변환 object.keys, values, entries
let scores = {
Kim: {math: 50, english: 70},
Park: {math: 70, english: 60},
Lee: {math: 80, english: 50}
}
let score= Object.values(scores)
let sum = score.reduce((sum, current) => sum+current.english,0);
- 스프레드와 레스트 문법 (Spread, Rest)
//spread
let user = {
name: 'Kim',
age: 20
};
let busanUser = {
...user, // name: 'Kim', age: 20
city: 'Busan'
};
let seoulUser = {
...user,
city: 'Seoul'
};
//rest
let seoulUser = {
name: 'Kim',
age: 20,
city: 'Seoul'
};
const {city, ...user} = seoulUser;
console.log(city); // Seoul
console.log(user); // {name: 'Kim', age: 20}
- spread , rest 응용
const sum = (...num) => {
return num;
}
let result = sum(1, 2, 3, 4, 5);
console.log(result); // [1, 2, 3, 4, 5]
//spread 응
const sum = (...num) => {
return num.reduce((sum, current) => sum + current, 0);
}
let numbers = [1, 2, 3, 4, 5];
let result = sum(...numbers); // 배열 형태가 아니라, 숫자들이 들어감 1, 2, 3, 4, 5
console.log(result); // 15
728x90
반응형