ES2020
포스트
취소

ES2020

?? 연산자

  • 해당 변수의 값이 null이나 undefined일 때 defualt value를 줄 수 있게 해주는 연산자
  • 사용이유
    • or 연산자(||)로도 default value를 줄 수 있긴 하다.
    • 하지만 or 연산자는 논리연산자이기 때문에
      만약 위의 코드에서 name의 값이 0이나 false여도 뒤의 값이 주어지게 된다.
    • name같이 이름에 대한 경우면 신경 안 쓸 수도 있겠지만,
      point나 score같은 경우면 문제가 될 수 있다.
  • 사용 예시
    let name="";
    console.log("your name is",name ?? "test");   //출력 : your name is test
    

Optional Chaining

  • 사용이유
    • 객체에서 존재하지 않는 property를 부를 때 생기는 에러를 방지
  • 사용 예시
    const test = {name : "who"};

    console.log(test.homeAddress.city); //에러 발생
    console.log(test?.homeAddress?.city); //출력 : undefined
    console.log(test?.homeAddress?.city ?? "Optional Chaining Test") ;//출력 : Optional Chaining Test
    

PadStart & PadEnd

  • 문자열에 padding을 집어 넣는다.
  • 사용 예시
    //의도 : 10미만보다 작은 숫자는 앞에 0을 붙이고, 마지막에 초 단위를 붙이려고 함
    let seconds = 3; 

    //seconds 길이가 2보다 작으면 앞에 0 추가, 3보다 작으면 뒤에 초 단위 추가
    seconds = String(seconds).padStart(2, "0").padEnd(3, "");

    //출력 : 03초
    console.log(seconds);
    
  • 주의사항
    • padStart와 padEnd는 문자열의 함수이기 때문에 숫자인 경우에는 문자열로 형변환을 해줘야한다.
    • padStart와 padEnd는 값을 바로 리턴하기 때문에
      출력할 때 바로 사용하거나 아니면 따로 변수에 저장해서 사용해야 한다.

trim, trimStart, trimEnd

  • 빈 문자열를 자르는 메소드
  • 사용 예시
    let testTrim = "   test trim method   ";    //앞뒤로 세칸씩 띄움
    console.log(testTrim.trimStart());  //출력 : test trim method   , 맨앞의 빈 공간 자름
    console.log(testTrim.trimEnd());    //출력 :    test trim method, 맨뒤의 빈 공간 자름
    console.log(testTrim.trim());       //출력 : test trim method, 양쪽의 빈 공간 자름
    
  • 주의사항 문자열 중간에 있는 공간들은 잘리지 않는다.

Object.메소드명

  • Object.entries(targetName)
  • Object.values(targetName)
  • Object.fromEntries(arrays)
  • 사용 예시
    const testObject = {name : "who", homeAddress : "where"};
    Object.entries(testObject);     //출력 : (2) [Array(2), Array(2)], 가지고 있는 데이터를 배열로 반환한다.
    Object.values(testObject);      //출력 : ["who", "where"], 가지고 있는 값만을 반환한다.

    const testFromEntires = Object.fromEntries([["name","lee"], ["homeAddress", "seoul"]]);   //배열을 통해서 object를 만든다. [] 안에 배열들을 나열한다.
    testFromEntires //출력 : {name: "lee", homeAddress: "seoul"}
    

Array.Flat(n)

  • 깊이의 값을 n만큼 값을 추출한다.
  • 사용 예시
    const flatTest = [1, [2, 2, [7], [3, 3, [6, 4, [3, 5]], [8,9]]], [0]];

    console.log(flatTest.flat());   //출력 : (6) [1, 2, 2, Array(1), Array(4), 0]
    console.log(flatTest.flat(2));  //출력 : (9) [1, 2, 2, 7, 3, 3, Array(3), Array(2), 0]
    console.log(flatTest.flat(3));  //출력 : (12) [1, 2, 2, 7, 3, 3, 6, 4, Array(2), 8, 9, 0]
    

Array.sort(compareFunction)

  • 배열을 정렬한다.
  • 사용 예시
    const flatTest = [1, [2, 2, [7], [3, 3, [6, 4, [3, 5]], [8,9]]], [0]];
    const sortTest = flatTest.flat(4).sort();
    sortTest    //출력 : (13) [0, 1, 2, 2, 3, 3, 3, 4, 5, 6, 7, 8, 9]
    

Promise.allSettled

  • Promise.all()과의 차이
    • Promise.all()은 포함된 모든 Promise들 중에서 하나라도 실패하면 모두 실패지만,
    • Promise.allSettled()는 포함된 Promise들 중에서
      실패한 Promise가 있어도 모든 status 값들을 반환한다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.