자바스크립트 최신 문법(ES7-ES13)
js
es7
es8
es9
es10
es11
es12
es13
자바스크립트 최신 문법(ES7-ES13)
- ES7
1. Array.prototype.includes()
ES7에서는 Array.prototype.includes() 메서드가 추가되었다. 이 메서드는 배열에 특정 요소가 포함되어 있는지 확인한다.
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(3)); // true
console.log(arr.includes(6)); // false
- ES8
1. String padding
ES8에서는 문자열 패딩을 위한 메서드가 추가되었다. padStart()와 padEnd() 메서드를 사용하여 문자열의 길이를 지정하고, 지정한 길이보다 짧은 문자열의 앞이나 뒤에 다른 문자열을 채울 수 있다.
const str = "123";
console.log(str.padStart(5, "0")); // 00123
console.log(str.padEnd(5, "0")); // 12300
- ES9
1. Object spread operator
ES9에서는 객체 전개 연산자가 추가되었다. 객체 전개 연산자는 객체의 속성을 복사하여 새로운 객체를 생성한다.
const obj1 = { a: 1, b: 2 };
const obj2 = { ...obj1, c: 3 };
console.log(obj2); // { a: 1, b: 2, c: 3 }
- ES10
1. Optional catch binding
ES10에서는 catch 절에서 에러를 처리할 때, 에러 객체를 사용하지 않아도 된다. catch 절에서 에러 객체를 사용하지 않을 경우, 에러 객체를 생략할 수 있다.
try {
// ...
} catch {
// ...
}
- ES11
1. Nullish coalescing operator
ES11에서는 널 병합 연산자가 추가되었다. 널 병합 연산자는 왼쪽 피연산자가 null 또는 undefined일 때, 오른쪽 피연산자를 반환한다.
const foo = null ?? undefined ?? "default string" ?? "" ?? 0 ?? 42;
console.log(foo); // 'default string'
- ES12
1. Promise.any()
ES12에서는 Promise.any() 메서드가 추가되었다. Promise.any() 메서드는 여러 개의 프로미스 중 하나라도 이행(resolve)되면 이행된 프로미스를 반환한다.
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve("foo"), 3000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => resolve("bar"), 2000);
});
Promise.any([promise1, promise2]).then((value) => console.log(value)); // 'bar'
- ES13
1. Logical assignment operators
ES13에서는 논리 할당 연산자가 추가되었다. 논리 할당 연산자는 논리 연산과 할당 연산을 한 번에 수행한다.
let a = 1;
let b = 2;
a &&= b;
console.log(a); // 2
let c = 1;
let d = 2;
c ||= d;
console.log(c); // 1
출처: https://poiemaweb.com/
Created: 2024년 2월 27일
Back to home