Nullish 병합 연산자

4244 단어 reactbeginners
??는 ES 2021의 일부입니다. 프로젝트에 [Babel]을 통합하지 않으면 작동하지 않을 수 있습니다! 또는 '브라우저 개발 도구'(예: 업데이트된 Chrome/FF/Edge)를 사용하세요.




논리 연산자의 단락 OR - ||



null 병합 연산자 - ?? 를 이해하려면 다음을 이해해야 합니다.




특히, || 단락은 왼쪽 피연산자가 'truthy'이거나 암묵적으로 true로 강제될 수 있는 경우 오른쪽이 평가되지 않는 경우입니다.

예를 들어, 3 || 4 , 43 가 '0이 아닌' 숫자가 암시적으로 true 로 강제 변환되기 때문에 평가되지 않습니다.

유사하게, "mark" || "anonymous"; "mark" , 비어 있지 않은 문자열인 경우 true 로 처리되므로 "anonymous" 를 고려할 필요가 없습니다.

요약하면 왼쪽 피연산자가 true로 평가되는 경우 - 즉, 이 중 하나가 아닌 경우...
  • 0
  • ""
  • null
  • undefined
  • false

  • ...오른쪽 피연산자는 보지 않습니다.

    const name = 'Mark Galloway';
    
    // Since 'name' is a 'truthy' string, let's use that one!
    const msg = `Hello, ${name || "anon"}`
    


    좋아, 하지만 ??



    정말 간단합니다... 모두 👆🏽와 동일하지만 nullundefinedfalsey으로 간주됩니다.



    MDN에 따라:

    const foo = undefined ?? 'default string'; // 'foo' will be 'default string'
    
    const buzz = null ?? 'Not null!'; // 'buzz' will be 'not null!'
    
    const baz = 0 ?? 42; // 'baz' will be '0'
    
    const bar = false ?? 42; // 'bar' will be 'false'
    


    🤷🏽‍♂️ - 이 👁️‍🗨️에 대해서는 별로 드릴 말씀이 없습니다. ||의 단락을 이해하는 경우 '진실' - '거짓' 규칙을 null 또는 undefined로 줄입니다.

    좋은 웹페이지 즐겨찾기