인프런 커뮤니티 질문&답변

egpark님의 프로필 이미지
egpark

작성한 질문수

[코드팩토리] [입문] 9시간만에 끝내는 코드팩토리의 Javascript 무료 풀코스

Operator (연산자)

단축 평가 (short circuit evaluation) 패턴 관련 질문있습니다.

작성

·

103

0

안녕하세요, 알찬 수업 무료로 열어주셔서 감사한 마음으로 배우고 있습니다.이번 강의에서 단축 평가 패턴에 대해 알려주셨습니다.제가 기존에 이해하고 있던 단축 평가 패턴은,
  1. false && ... 은 항상 false 이므로 ... 에 대한 확인은 하지 않는다
  2. true || ... 은 항상 true 이므로 ... 에 대한 확인은 하지 않는다
  3. 확인하지 않음으로서 조금의 성능 향상을 얻는다.
정도 였습니다.강의 내용에는 console.log(true && '아이브') // 아이브라는 내용이 있습니다.관련하여 이해가 되지 않아 정보를 찾다보니, 이러한 패턴을 이용해서 값이 들어 있는 변수 혹은 값이 들어있지 않은 변수를 찾아내는 데 사용하더라고요.(https://wondev.tistory.com/17)그럼에도 '왜'의 굴레에서 벗어나지 못하고 있습니다..ㅎ..단축 평가 패턴과 관련하여 조금 더 깊은 설명을 들어볼 수 있을까요?혹은 제가 참고하면 좋을 자료를 공유받을 수 있을까요?감사합니다.

답변 1

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

"왜?"라는건 작동 방식에 대한 "왜?" 인걸까요?

아니면 "왜 이런 작동 방식을 알아야하나 또는 사용해야하나"에 대한 질문일까요?

전자는 솔직히 말씀드리면 저도 잘 모르겠습니다. 아마 고의적으로 만들어진 기능이라보단 언어 내부적으로 생겨난 사이드이펙트가 아닐까 생각됩니다.

후자는 많은 사례가 있고 실제로 굉장히 많이 사용합니다. 링크주신 사이트에서도 매우 좋은 설명을 해주고 있는데 제가 대표적으로 많이 사용하는 경우는 null이 될 수 있는 String 값을 여러개 모아서 메세지를 반환할때 사용합니다.

예를들어

let message = error || warning || success;

이런식으로 우선도 순으로 메세지를 반환 받을 수 있습니다.

감사합니다!

egpark님의 프로필 이미지
egpark

작성한 질문수

질문하기