스프레드 연산자를 단락시킬 수 있다는 사실을 알고 계셨습니까?

프로그래밍에서 WTF가 단락되고 있습니까?




단락은 결과가 결정되자마자 표현식 평가가 중지되는 경우입니다.

확산 연산자와 어떻게 작동합니까?



기본적으로 && 연산자를 사용하여 스프레드 연산자를 단락시킬 수 있습니다.
따라서 조건이 충족되면 전개 연산자가 실행되고 객체의 속성이 전개됩니다. 그렇지 않으면 무시됩니다.

예를 보자:

const isActiveOnMenu = true;

const pastaCarbonara = {
  ingredients: ['pasta', 'bacon', 'eggs', 'cheese', 'garlic'],
  price: 10.0
};

const menu = {
  ...isActiveOnMenu && pastaCarbonara
};

console.log(menu);
// { ingredients: ['pasta', 'bacon', 'eggs', 'cheese', 'garlic'], price: 10.0 }



보시다시피 위의 예에서 pasta carbonara 객체는 spread가 참일 때만 isActiveOnMenu를 얻습니다. 논리 AND(&&)는 피연산자를 왼쪽에서 오른쪽으로 평가하므로 첫 번째 값으로 즉시 반환합니다. 그것이 만나는 거짓 피연산자; 모든 값이 참이면 마지막 피연산자의 값이 반환됩니다.

좋은 웹페이지 즐겨찾기