#TIL14 (3)

전혜린·2021년 8월 6일
0

Today I Learned

목록 보기
16/64

변수 유효범위(Variable Scope)

  • 변수의 종류: var, let, const
  • let, const : 블록레벨의 유효범위를 가짐
  • var : 함수레벨의 유효범위를 가짐
     

function scope() {
if (true) {
var a = 123
}
console.log(a)
}

scope()

var의 경우 함수레벨의 유효범위를 가지기 때문에 해당 함수 실행시 에러나지 않음

형 변환(Type conversion)

  • Truthy(참 같은 값)
    true, {}, [], 1, 2, 'false', -12, '3.14' ...

  • Falsy(거짓 같은 값)
    false, '', null, undefined, 0, -0, NaN(Not a Number, 숫자데이터)
    NaN = 1 + undefined 더해진값이 숫자로 판단할 수 없는 특정 값일 경우
    숫자데이터이긴한데 숫자가아니다 라는 뜻으로 NaN 이 있음

if ('false') {
console.log(123)
}
//'false'는 형변환으로 인해 정상적으로 출력됨

동등연산자

  • 동등연산자 사용시 형변환이 일어남
  • 자바스크립트에서는 동등연산자 되도록 사용하지 말것
  • 의도하지 않은 결과가 나올 수 있음
  • 따라서 일치연산자(===) 사용 권장

const a = 1
const b = '1'

console.log(a === b) // false, 일치연산자

console.log(a == b) // true, 동등연산자

profile
코딩쪼아

0개의 댓글