[ES2022] javascript 주요 변경점

Hoony·2022년 7월 10일
2

async/await -> await만 사용가능

  • "아 async 안붙였네"를 안해도 된다.
// 기존
(async() => {
	await AsyncFunction();
});

// 변경
(() => {
	await AsyncFunction();  
})

Error 객체에 cause field 추가

  • 굉장히 답답하던 부분이였는데, cause의 추가로 Error를 좀 더 체계적으로 핸들링할 수 있게 됨
//기존
throw new Error("SERVER ERROR");

// 변경
throw new Error("SERVER ERROR", { cause: "DB CONNECTION ERROR" });

Array 접근 함수 at 추가

  • 다른 언어에서는 많이 지원되는 내용인데, js에서 안쓰다보니 너무 익숙해져있음
  • at말고 []로도 되었으면 좋았을 것 같음.
//기존
arr[0];

//추가
arr.at(0);
  • at으로 음수 index 사용가능
  • last index value를 가져오는 것이 편해짐
let arr = [1, 2, 3];
arr.at(-1) // 3
arr[arr.length - 1] // 3

class 변경점

class 변경점들은 이미 node와 browser에서는 구현되어 있었다.
정식지원에 들어갈 확률이 높은 것들은 미리 구현해두는 편이다.

  • constructor 없이 변수 초기화가능 ( 정식지원 )
// 기존
class A {
	constructor() {
     	foo = 'a';
    }
}


// 정식지원
class A {
 	foo = 'a'; 
}
  • private 접근 제한자 지원 ( 정식지원 )
class A {
	#foo = 'a';
    #bar () {
    	console.log(foo);
	}
}
  • static method 지원 ( 정식지원 )

// 기존
class A {}
A.foo() {
 	console.log('hello') 
}


// 정식지원
class A {
 	static foo () {
     	console.log('hello'); 
    }
}
profile
아는 만큼 보인다

0개의 댓글