기린의 기록을 위한 공간
[JavaScript] 변수 본문
자바스크립트에서 변수는 function scope의 범위를 가지고 있음
그 범위는 global scope(전역) / local scope(지역영역)
선언 : var 변수명 *별도의 자료형을 선언하지 않는 동적 자료형을 가지고 있음
*var 예약어를 사용하지 않고 변수사용가능(권장하진않음)
<script>
//전역번수 - window밑으로 들어감 페이지전체에서 사용가능
var name = "이름"
//저역번수 - var없이 사용가능하지만 권장x
age = 20;
function test(){
var height = 180; //function 안에서만 사용이 가능한 변수
var address = "주소"; //변수 코드를 읽는 순간 window객체의 멤버변수로 추가
}
</script>
[호이스팅]
자바스크립트 변수는 독특한 특징이 있음 ->호이스팅 hoisting(var로 선언된 변수들만 적용됨)
미리 저장공간 확보부터 함
console.log(c);
var c; //변수가 밑에있어도 먼저 저장공간을 확보해놓음
var name=19; //위에있는 변수를 중복으로 선언을 해도 제재할 수단이없음 (에러메세지를 출력안해줌)
for(var i=0; i<10; i++){
console.log(i);
}
// i가 var로 선언되있기 때문에 외부에서도 출력가능
console.log("외부에서 for문의 초기화변수 : "+i);
[ecma6]
변수를 선언할 때 var X -> const, let를 만듬
const, let -> functionscope(window)가 아니라 blockscope { }안에서만 활용이가능
전역에 중복으로 선언이 되면 에러메세지를 출력해줌.
const : 불변의 변수 -> 상수(선언할 때 초기화를 해줘야함) -> 전역변수
let : 값변경이 가능한 변수 -> 일반변수
//for문에서는 안전하게 var대신 let을 쓴다(var는 다른곳에서도 쓸수있기때문)
for(let j=10;j>0;j--){
console.log(j);
}
'Programming > JavaScript' 카테고리의 다른 글
[JavaScript] 조건문 (0) | 2020.02.12 |
---|---|
[JavaScript]문자 숫자 관련 함수 / 형변환 / 연산자 (0) | 2020.02.12 |
[JavaScript]변수의 자료형 (0) | 2020.02.12 |
[JavaScript]태그에 접근하는 방법 (0) | 2020.02.12 |
[JavaScript]데이터 입출력 (0) | 2020.02.12 |