Koans -02_Types-part1

Jelkov Ahn·2021년 9월 9일
0

Private

목록 보기
2/16
post-thumbnail
  • loose equality(==) vs strict equality(===)

    • (1) loose equality(==)
    let first = 1 + 1;
      let second = '2'; // 문자열 2가 들어와도 두개 같다라고 뜬다
      console.log(first == second) // true
    • 느슨한 동치 연산자 '=='의 예시
      console.log(0 == false)// true;
      console.log('' == false)// true;
      console.log([] == false)// true;
      console.log(![] == false)// true;
      console.log([] == ![])// true;
      console.log([] == '')// true;
      console.log([] == 0)// true;
      console.log([''] == '')// true;
      console.log([''] == 0)// true;
      console.log([0] == 0)// true;

    • 사실 느슨한 동치 연산(loose equality)는 프로그램의 작동을 예측하기 다소 어렵게 만듭니다.
      '=='의 특성을 정확하게 외워서 모든 상황에 대응하겠다는 자세는 접어두시기 바랍니다.

    • (2) strict equality(===)

    let first = 1 + 1;
      let second = 2; // 1+1 혹은 2가 들어와야 두개가 같다라고 뜬다. 
      console.log(first == second) // true
    • (3) 여러가지 연산 예시
      console.log(1 + '1')//'11'
      Number 1 하고 문자열 '1'  문자열 '11'
    
      console.log(123 - '1')// 122;
      Number 123 하고  - '1'  Number 122
    
      console.log(1 + true)// 2;
      Number 1 + true값은 1 Number 2
    
      console.log('1' + true)//'1true;
      문자열 '1' 하고  true를 합하면 문자열 '1true'
    • 문자열하고 Number하고 합할경우(+) 문자열이 된다.
    • 문자열하고 Number하고 곱하거나(*) 빼거나(-) 나눌경우(/)는 계산이된 후 Number형태로 반환됩니다.
    • true값은 Number하고 결합할경우 1로 변환되지만, 문자열과 결합할 경우 true 문자열로 사용된다. (false일경우 0)

참고 : 코드스테이츠

profile
끝까지 ... 가면 된다.

0개의 댓글