728x90
자바스크립트에서 객체나 함수는 모두 변수(variable)이다.
var 키워드로 선언된 변수는 함수 레벨 scope를 따름
함수 레벨 Scope (Function-level scope)
함수 내에서 선언된 지역 변수는 함수 내에서만 유효
함수 외부에서는 참조 불가
let, const 키워드로 선언된 변수는 블록 레벨 scope를 따름
블록 레벨 Scope (Block-level scope)
코드 블록 내에서 선언된 변수는 코드 블록 내에서만 유효, 코드 블록 외부에서는 참조 불가
코드 블록 내부에서 선언한 변수는 지역 변수
<script>
// 변수 유효범위(Variable Scope)
let a = 3
function name() {
let a = 20 // let 은 블럭 레벨 범위안에서 유효
console.log(a)
}
console.log(a) // 결과 : 3
name() // 결과 : 20
console.log(a) // 결과 3
</script>
|
<script>
// 변수 유효범위(Variable Scope)
function name() {
if (true) {
let a = 20 // let 은 블럭 레벨 범위안에서 유효
}
console.log(a) // 블럭 레벨 범위 밖에 a 변수
}
name() // 결과 : ReferenceError: a is not defined
</script>
|
형변환(Type conversion)
Falsy(거짓과 같은 값) : false, '', null, undefined, 0, -0, NaN
Truthy(참과 같은 값) : true, 'false', 1, 2, -12, ....
NaN (Not a Number) → 1 + undefined
728x90
'React > morden javascript' 카테고리의 다른 글
자바스크립트 Object (0) | 2022.06.11 |
---|---|
자바스크립트 호이스팅(Hoisting) (0) | 2022.06.10 |
Javascript this and Class (0) | 2022.06.09 |
javascript 콜백 함수(callback function) (0) | 2022.05.27 |
javascript 화살표 함수(람다식) (0) | 2022.05.27 |