ex) 배열
let [value1, value2] = [1, "new"];
console.log(value1); // 1
console.log(value2); // "new"
let arr = ["value1", "value2", "value3"];
let [a,b,c] = arr;
console.log(a,b,c) // value1 value2 value3
let [a,b,c,d] = arr
console.log(d) // undefined
let [a,b,c,d = 4] = arr
console.log(d) // 4
ex) 객체
let user = {name: "nbc", age: 30};
let {name, age} = user;
console.log(name, age) // nbc 30
만약 객체의 key와 value 값의 이름이 같다면, 생략 할 수있다.
const name = "nbc"
const age = "30"
const obj = {
name : name,
age: age
};
이런 형태일 경우 생략 가능하다
const obj = {
name,
age
}
중요한 문법. 배열이나 객체를 전개하는 문법이다!
//배열
let arr = [1,2,3];
let newArr = [...arr, 4];
console.log(newArr) // [1,2,3,4]
//객체
let user = {name: "nbc", age: 30};
let user2 = {...user}
user2.name = "nbc2"
console.log(user.name) // nbc
console.log(user2.name) // nbc2
함수를 사용할때 매개변수를 작성하게 되는데 ...을 통해 나머지 매개변수를 등록할 수 있다.
function func (a, b, ...args) {
console.log(...args)
}
func(1, 2, 3) // 3
func(1, 2, 3, 4, 5, 6, 7) // 3 4 5 6 7
const sayHello = function() {
console.log('Hello!');
};
sayHello(); // "Hello!" 출력
function callFunction(func) {
func();
}
const sayHello = function() {
console.log('Hello!');
};
callFunction(sayHello); // "Hello!" 출력
function createAdder(num) {
return function(x) {
return x + num;
}
}
const addFive = createAdder(5);
console.log(addFive(10)); // 15 출력
const person = {
name: 'John',
sayHello: function() {
console.log(`Hello, my name is ${this.name}`);
}
};
person.sayHello(); // "Hello, my name is John" 출력
const myArray = [
function(a, b) {
return a + b;
},
function(a, b) {
return a - b;
}
];
console.log(myArray[0](5, 10)); // 15 출력
console.log(myArray[1](10, 5)); // 5 출력
<Map 생성 및 사용>
//새로운 맵 생성
const myMap = new Map();
// Map에 값 추가
myMap.set('key', 'value');
// Map에서 값 검색
consoile.log(myMap.get('key')); // 'value'출력
Map에서는 keys(), values(), entries() 메소드를 사용하여 키, 값 및 키-값 쌍을 반복할 수 있습니다.
// 맵 생성
const myMap = new Map();
myMap.set('one', 1);
myMap.set('two', 2);
myMap.set('three', 3);
//key 값 확인
for (const key of myMap.keys()) {
console.log(key);
}
// key 값을 출력 함
// 'one'
// 'two'
// 'three
// value 값 확인
for (const value of myMap.values()) {
console.log(value);
}
// value 값을 출력 함
// 1
// 2
// 3
// entry 값 확인
for(const entries of myMap.entries()){
console.log(entries);
}
// etnry 쌍 값들을 출력 함
//[ 'one', 1 ]
//[ 'two', 2 ]
//[ 'three', 3 ]
Map의 크기를 확인하려면 size 속성을 사용한다.
console.log(myMap.size); // 3 출력
특정 키가 Map에 존재하는지 여부를 확인하려면 has() 메소드를 사용한다.
console.log(myMap.has('two')); // true 출력
Set 생성 방법은 Map과 동일하고 사용 방법 또한 비슷하다.
const mySet = new Set(); // Set 생성
mySet.add('value1'); // Set에 값 추가
mySet.add('value2');
console.log(mySet.has('value1')); // Set에서 값 검색