※ 강의를 듣고 제가 이해한 것을 정리한 것이라서 오류가 있을 수 있습니다.

 

1. 단축 평가 논리 계산법

논리 연산자를 이용해서 코드를 더 짧게 쓰는법

 

 

2. && 연산자 사용해서 코드 단축 시키기

1) && 연산자 사용했을때 의미

/* AND연산자는 왼쪽의 값이 true나 truthy한 값일때는 오른쪽의 값을 출력해주고
왼쪽의 값이 false나 falsy한 값일때는 왼쪽을 출력 */

console.log(true && 'hello'); /* AND연산자를 썼을때 앞의 값이 true값이나
Truthy한 값이면 뒤에 값을 출력 해줌 */

console.log(false && 'hello'); // 앞의 갑이 false이면 false로 출력

console.log('hello' && 'bye'); // truthy한 값이기에 bye 출력

console.log(null && 'hello'); // falsy한 값이기에 null 출력

console.log(undefined && 'hello'); // falsy한 값이기에 undefind 출력

console.log('' && 'hello'); // falsy한 값이기에 공백 출력

console.log(0 && 'hello'); // falsy한 값이기에 0 출력

console.log(1 && 'hello'); // truthy한 값이기에 hello 출력

실행 결과

 

2) && 연산자를 이용한 코드 단축 시키기

const object = null;

const name = object && object.name; // 앞의 값이 null이므로 faly한 값이라 앞의 null 출력
console.log(name);

const object2 = {name: '123'};

const name2 = object2 && object2.name; // 앞의 값이 truthy한 값이라 뒤의 123 출력
console.log(name2);

 

실행 결과

 

 

 

3. || 연산자를 사용해서 코드 단축 시키기

 

1) || 연산자 사용했을때 의미

/* OR연산자는 만약 어떤 값이 falsy하다면 대체로 사용할 값을 지정해줄때 매우 유용하다.
(왼쪽의 값이 falsy한 값이라면 오른쪽 값을 사용) */

console.log(false || 'hello');
console.log('' || '이름없다');
console.log(null || '널이다~');
console.log(undefined || 'defined 되지 않았다!');
console.log(0 || '제로다');

console.log(1 || '음?'); // AND연산자와 반대로 true나 truthy한 값이 앞부분에 오면 앞부분 출력

실행 결과

 

 

2) || 연산자로 코드 단축 시키기

 

// OR연산자를 이용한 방법

const namelessDog = {
  name: ''
};

function getName(animal) {
  const name = animal && animal.name; // '' 같은 공백은 falsy이기에 왼쪽 값으로 되는데
  return name || '이름이 없는 동물입니다.'; // 그 값이 faly이기에 오른쪽 값인 이름이 없는 동물 입니다. 출력
}

const name = getName(namelessDog);
console.log(name);

 

실행 결과

+ Recent posts