ES2021 Logical Assignment 는 Ruby 연산자에 의해 지정됩니다.

지난달ES2021에 발매되었습니다.
본 보도 소개 이외의 코딩 예시를 제작했기 때문에 ES2021에서 발표된 새로운 기능샘플을 시도해 보세요.

Logical Assignment


Logical Assignment의 기술량은 매우 짧기 때문에 변수, null, undefined의 가능성을 고려하여 대입할 수 있다.
사내 학습회도 이번 발표를 통해 Logical Assignment에 대해 논의했다.
그러나 세 연산자와 마찬가지로 기술량이 줄고, 코드의 가독성이 떨어진다는 우려와 개인이 생각하는 Logical Assignment 의존 쓰기 방법을 간단하게 사용하는 것은 어떨까.이런 결론을 얻었다.

Logical Assignment 구현

  • 이 연산자는 루비 연산자의 계발과 실현
  • Ruby 문서에서 Abbreviated Assignment라는 이름으로 소개
  • 다음은 루비의 예제
  • a = 1
    
    # equivalent to ...
    a = a + 2
    a += 2
    
    p a # 3
    
    # equivalent to ...
    a ||= 0
    a &&= 1
    
    p a # prints 1
    
  • 위 예에서 a ||= 0, a &&= 1는 ES2021에서 발표한 Logical Assignment와 동일
  • JavaScript를 사용하여 Logical Assignment의 동작을 확인합니다.👀

  • 다음 예에서 논리 대입 산자를 사용하여 n에 정의된 수치를 대입 값
  • 에 사용한다.
  • object.n += 1에서 매번 설정
  • object.n ||= 2에서 n의 값이 0 또는 0이 없으면 2
  • 를 대입하지 않습니다.
  • object.n &&= 3n의 값이 있으면 2
  • 를 대입한다.
    let n = 0
    
    const object = {
      get n() {
        return n
      },
    
      set n(value) {
        console.log('setter called')
        n = value
      }
    }
    
    // "setter called"
    object.n += 1
    
    // not log
    object.n ||= 2
    
    // "setter called"
    object.n &&= 3
    
    그러나if문 등 조건과 달리 코드를 진정으로 이해하기 쉬우므로 팀 내에서 논의하고 부작용을 감안하여 실시해야 한다.

    최후


    Logical Assignment 외에도 ES2021 출시를 위한 새로운 기능샘플이 준비되어 있습니다.👍
    실제로 편집기에서 실행되는 코드를 준비하고 있습니다. 시도해 보십시오.
    https://dev.icare.jpn.com/dev_cat/new-in-es2021-examples/
    마지막으로 채용과 관련해 주식회사 iCARE는 매주 전단기술 관련 사내학습회를 개최한다.
    근무시간에 학습회를 개최할 수 있는 환경에서도 커플 전공이 활발하다.
    관심 있는 사람은 전화Wantedly로 프런트엔드 기술에 대해 이야기할 수 있습니다.👍
    https://www.wantedly.com/projects/549145

    좋은 웹페이지 즐겨찾기