var | let(ES6 표준) - 지역변수 | const(ES6 표준) - 상수 |
---|---|---|
스코프(범위) : 함수레벨 | 스코프(범위) : 블록{} | 스코프(범위) : 블록{} |
변수 선언시 생략 가능 | 변수 선언의 생략 불가능 | 변수 선언의 생략 불가능 |
같은 변수명으로 재선언 가능 | 같은 변수명으로 재선언 불가능 | 같으 변수명으로 재선언 불가능 |
초기화 생략 가능 : undefined 상태 | 초기화 생략 가능 : 메모리에 변수가 안만들어진상태 | 초기화 생략 불가능 : 상수이기때문 (자바의 final) |
저장된 값의 수정 가능 | 저장된 값의 수정 가능 | 저장된 값의 수정 불가능 : 상수이기 때문 |
경고창
alert(출력메시지);
→ 세미콜론(;) 생략 가능하다
브라우저 화면
document.write(출력메시지);
→ 출력메시지에 HTML 구성요소 표현 가능
Concole
브라우저창의 F12 - 개발자 도구의 console 탭
console.log(출력메시지);
🎈 확인
a = 10;
console.log(a);
→ 변수 선언 키워드(var)는 생략 가능하다.
a = null;
console.log(a);
→ 강제로 저장된 값을 없앰
var b;
console.log(b);
→ 초기화가 없으면 undefined 상태
console.log(c);
var c;
→ 호이스팅 (항상 먼저 처리되는 코드)
var d = 10;
condole.log(d, typeof d);
→ 10을 저장하면서 number 타입을 가짐
var d = 'hello'
console.log(d, typeof d);
→ 같은 이름의 변수를 재선언할 수 있다
var d = Math.sqrt(-25);
console.log(d, typeof d);
→ 루트 -25를 의미함 (실제로 존재하는 숫자가 아님)
var d = 10 / +0;
console.log(d, typeof d);
→ Infinity, -Infinity
🎈 확인
var a = '100';
var b = Number(a);
console.log(b, typeof b);
var b = parseInt(a);
console.log(b, typeof b);
var a = '1.5';
var b = parseInt(a);
console.log(b, typeof b);
→ 실수를 parseInt하면 1로 처리된다.
var c = '1.5';
var d = Number(c);
console.log(d, typeof d);
var d = parseFloat(c);
console.log(d, typeof d);
var e = '100';
console.log(String(e));
var e = '1.5';
console.log(String(e));
// , /* */