728x90
12. 자바스크립트 변수 선언 방식
: 변수 선언 방식에는 var / let / const 와 같이 3가지로 선언 가능 (ES6부터 가능)
-> 변수 이름 충돌로 인하여...
ECMAScript ES6 = ECMAScript 표준의 6번째 에디션 (2015)
* 블록스코프 : {} if, for, function
함수스코프 : 블록스코프 중 함수 범위를 갖는 스코프
1) var : 함수스코프 : 같은 이름의 변수 재선언 가능. (var a = 10; var a = 20; 이렇게 선언가능)
2) let : 블록스코프 : 같은 이름의 변수 재선언 불가능. 값수정 가능 (자바와 동일)
3) const: 블록스코프 : 재선언 불가능. 값수정 불가능 -> 상수
const는 선언과 동시에 값을 할당해야함. 아니면 에러
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script> //12 자바 변수
//var
/*var name = "피카츄";
console.log(name);
var name = "꼬부기";
console.log(name);
*/
//let
/* let name = "피카츄";
console.log(name);
let name = "꼬부기"; //실행 불가
console.log(name);
name = "haha"
console.log(name); // 수정가능
*/
//const
const name = "피카츄"
console.log(name);
// const name = "꼬부기" // 실행 불가
// console.log(name);
name = "sdsdf" // 수정 불가
console.log(name);
var a;
var b;
const c = a;
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
/*
// var 함수 스코프
var foo = "문자문자"
if(typeof foo == "String"){
var result = true;
}else{
var result = false;
}
console.log(result); //true 나옴 (사용가능)
*/
var foo = "문자문자"
if(typeof foo == "String"){
let result = true; //
}else{
let result = false;
}
console.log(result); // 에러뜸 ( 사용불가)
</script>
</body>
</html>
728x90
'P-Language > [Javascript]' 카테고리의 다른 글
[Javascript] 14 - 내장 객체 (Built-in Object) (0) | 2022.06.09 |
---|---|
[Javascript] 13 - 자바스크립트 객체 (Object) (0) | 2022.06.08 |
[Javascript] 11. 함수 리터럴(function literal)과 익명 함수(anonymous function) (0) | 2022.06.08 |
[Javascript] 10 - 함수 function (0) | 2022.06.08 |
[Javascript] 9 - 배열 array (0) | 2022.06.08 |