4/21 javascript 메모

OwlCJ·2021년 4월 21일
0

학습 메모

목록 보기
1/5

오늘 학습한 것들중 다른언어와 다르거나 인상 깊게 보았던 Javascript의 특이점들을 모아봤다.

  1. 선언이 안된 변수에 typeof 를 하게되면 undefined를 출력해서 referenceError 가 나지않아서 문제 발생가능
  2. Javascript 에서 조건식의 조건이 불리언형이 아닐때 암묵적 타입변환으로 true 와 false 로 간주하는 것들 (Truthy, Falsy)
    Falsy : false, 1이외의 숫자, "" 같은 빈 문자열, null, NaN, undefined
    Truthy : true, 1, 공백 이외의 문자열
  3. NaN 과 NaN을 비교시 false로 판단 따라서 NaN 확인시에는 isNaN() 사용 혹은 Object.is(NaN, NaN) 으로 사용시에는 참으로 정상
  4. 숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환해줌
  5. typeof 사용시 null은 오브젝트로 표현함 따라서 null 확인시엔 === 비교 연산자를 사용, 버그이지만 기존 코드들 때문에 수정안함
  6. Value Expression Literal의 정의

    Value -> expression이 evaluate되어 생성된 결과를 말한다.
    Expression -> Value로 평가될 수 있는 문이다. 즉, Expression이 평가되면 새로운 value를 생성하거나 기존 value를 참조한다.
    Literal -> 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 value를 생성하는 표기법을 말한다.

  7. 삼항 조건연산자는 표현식인 문이고 if else문은 흉내 가능하나 표현식이 아닌 문 따라서 변수에 바로 할당이 불가

    x가 3이라고 가정할 때,
    let a = x == 3 ? true : false 와 같이 바로 할당 가능

profile
ios 개발자를 목표로 성장중입니다 🧐

0개의 댓글