TIR: 완벽가이드 1. 코어자바스크립트(2) 변수 - 220614

Lumpen·2022년 6월 14일
0

TIR

목록 보기
5/40

변수 선언

선언: 값 할당 없이 변수만 작성
할당: 변수 선언과 동시에 값을 초기화

선언 시 값이 할당(초기화)될 때 까지 undefined

자바스크립트에서는 타입을 지정하지 않기 때문에
숫자로 쓰던 변수에 문자를 쓰던가 할 수 있음

반복된 선언과 생략된 선언

선언되지 않은 변수를 읽거나 선언되지 않은 변수를 쓰려고 할 때 에러 발생
비 엄격모드에서는 선언 없이 할당하면 전역 객체의 속성으로 생성되어 전역 변수처럼 동작한다 (완전히 같지는 않음)
그치만 그렇게 사용하지 말자

변수의 유효 범위 (scope)

어떤 변수가 정의되어 있는 영역
전역 변수는 전역
함수 안에서의 변수는 유효범위가 함수 (지역 변수)
우선 순위는 지역변수 > 전역변수

전역 유효범위에서 선언 없이 할당 하면
지역 범위에서 선언 없이 할당 하였을 경우
전역 범위의 변수를 건드리게 되지만
이렇게 쓸 일 없다

함수 유효범위와 끌어올림 (호이스팅)

자바스크립트에서는 블록 유효범위의 개념이 없다
대신 함수 유효범위를 사용
함수 내부에서 제어문, 반복문 등을 사용하면서 블록 내부에 변수를 작성해도 함수 전체에서 사용 가능하다

호이스팅

자바스크립트의 특징은 호이스팅이다
블록 유효범위를 가진 프로그래밍 언어는 변수가 사용되는 가장 가까운 곳에 선언하지만
자바스크립트는 함수 유효범위이기 때문에
함수의 맨 꼭대기에 선언하는게 변수의 진정한 유효범위를 코드에 정확하게 반영할 수 있다

profile
떠돌이 생활을 하는. 실업자는 아니지만, 부랑 생활을 하는

0개의 댓글