[JS] ES6 ~ ES13 문법

김영훈·2022년 5월 29일
0

Javascript Basic

목록 보기
4/4

자주 사용할 것 같은 문법들


Nullish Coalescing Operator

값이 있는지 없는지 판단


const val = 0
const nullish = val ?? 'Null' // 0 

String.prototype.trimStart, trimEnd

trim을 좀 더 세부적으로


//trimStart()
' trimStart'.trimStart(); // 'trimStart'
'trimStart '.trimStart(); // 'trimStart '

//trimEnd()
'trimEnd '.trimEnd(); // 'trimEnd'
' trimEnd'.trimStart(); // ' trimEnd'

String.prototype.replaceAll()

replace를 해당 모든 문자열에 사용

//.replace(/문자/g,"")) === .replaceAll("문자",""));

console.log("BANANA.".replace(/A/g,"a"));
// "BaNaNa"
 

console.log("BANANA.".replaceAll("A","a"));
// "BaNaNa"

Array.prototype.flat(), flatMap()

중첩 배열, 빈공간 삭제

const arr = ["a", ["b"], ,["c"]];

arr.flat() // ["a","b","c"] 빈요소가 있으면 무시

let arr1 = [1, 2, 3, 4];

arr1.flatMap(x => [x * 2]); // [2, 4, 6, 8]

Promise


Promise.all

모든 promise 이행 후 값 return
하나의 promise라도 실패시 reject된다.

const promise1 = new Promise((resolve) => {
  setTimeout(() => {
    resolve(1);
  }, 1000);
});

const promise2 = new Promise((resolve) => {
  setTimeout(() => {
    resolve(2);
  }, 1000);
});

const promise3 = Promise.resolve(3);

Promise.all([promise1, promise2, promise3])
  .then((result) => console.log(result))
  .catch((e) => console.error(e));

//

[1,2,3]

Promise.allSettled

모든 promise 이행 후 각 결과와 값 return
promise 실패시에도 값 반환


const promise1 = new Promise((resolve) => {
	setTimeout(() => {
		resolve(1);
	}, 3000);
});

const promise2 = new Promise((resolve) => {
	setTimeout(() => {
		resolve(2);
	}, 1000);
});

const promise3 = Promise.reject(new Error("err"));

Promise.allSettled([promise1, promise2, promise3]).then((results) => {
	results.forEach((result) => {
          console.log(result);
	});
});


//return 
{status: 'fulfilled', value: 1}
{status: 'fulfilled', value: 2}
{status: 'rejected', reason: Error: err

-계속 추가 예정-

profile
개인적인 기록.

0개의 댓글