1. 변수 (let)
데이터를 저장할 수 있는 메모리 공간
- 값이 변경될 수 있음
- 자바스크립트의 변수는 타입이 없음
- let 키워드 사용하여 변수를 선언
언어별 변수 선언 |
파이썬 name = '김시과' 자바스크립트 let name = '김사과' ; 아주 엣날 엣적 변수 선언 var name = '감사과' ; |
- var
var num=10; { console.log(num); //전역변수 num=10
console.log(num); //지역변수 num=20, } console.log(num) //전역변수 num=20, 세상에! { }밖에 나가면 10이 찍힘 |
|
- let
|
- 트랜스 컴파일러
- 과거 브라우저 및 특정 브라우저 버전등을 모두 사용할 수 있도록 해석해주는 라이버러리
- BABEL 등
<body> <h2>변수</h2> <script>
var num;
console.log(num);
console.log(name);
</script>
</body>
|
* 변수에 값을 넣지 않았다면, : print 를 찍어도 undefind로 출력됩니다. |
<body>
<h2>변수</h2> <script> str='안녕하세요'; // 변수 타입 선언 X console.log(str); // 안녕하세요 출력
</script> var str='반갑습니다'; // 변수 타입 선언 O console.log(str); // 반갑습니다 출력 </body>
|
* 변수 타입을 선언하든 하지 않든 값은 동일하게 출력됩니다. |
<body>
<h2>변수</h2> <script>
var num; num=10; console.log(num); // 10 출력 { console.log(num); // 10 출력 var num=20; console.log(num); // 20 출력 } console.log(num); // 20 출력 // let // let num = 10; // console.log(num); // 에러: num이 이미 선언되어 있음 console.log(val1); // 전역변수 =10 { let val1=20; console.log(val1); // 지역변수 =20 } </script> </body>
|
* var은 지역변수, 전역변수 구별이 없습니다 * let은 동일한 변수명을 중복해서 사용할 수 없습니다 * let은 지역변수, 전역변수 구별이 있습니다 |
2. 상수(constant)
- 한번 선언된 상수는 다시 재정의 할 수 없음
- 값을 재할당 할 수 없음
- 상수선언
*변수의 경우 let name; // 변수선언 name = '김사과' ; // 리터럴 할당 let name = '김사과 // 변수의 선언 + 리터럴 할당 *상수의 경우 const name; name = '김사과' (x) const name = '김사과' (o) : 변수선언과 동시에 값이 할당되어야 함! |
@자바스크립트에서 상수를 권장하는 이유
* 바꾸지 않을 경우 상수에다 넣고 계속 사용하게 됩니다. * 명확하게 하기 위해서 사용합니다. |
- 상수선언
<body>
<h2> 상수 </h2> <script>
let str1; //변수선언 console.log(str1); // 'undefined' 출력 str1='김사과'; //값할당
// console.log(str2) // '에러' : 값할당Xconsole.log(str1); // '김사과' 출력 // const str2; const str2='김사과'; // 변수 선언 + 값 할당 console.log(str2); // '김사과' 출력 //st2 = '반하나'; // '에러' : 값 재할당 불가 </body>
|
* let으로 선언하든, const로 선언하든 결과는 동일합니다. |
- 상수객체 선언
<body>
<h2> 상수객체 </h2> <script>
const obj = { id : 'apple' , name : '김사과' , gender : 'female' } ; // 객체라는 자료구조(object) // key : value 형태로 저장 console.log(obj.id); // apple 출력 console.log(obj.name) // '김사과' 출력 console.log(obj.gender); // female 출력 // 자바스크립트에서 상수라는 개념이 let이 아닌 const로 만들어졌기 때문에 메모리 주소는 바꿀 수 없다. // 그러나 value의 값은 바뀔 수 있다. // obj 값 전체를 바꾸는 건 불가능하나(메모리 주소값을 못 바꾸기 때문), value값은 바꿈 obj.name='반하나' ; obj.gender='male' ; console.log(obj.id); // banana 출력 console.log(obj.name ); // 반하나 출력 console.log(obj. gender); // male 출력 </body>
|
* 객체의 값은 변경 가능합니다. (주소는 변경 불가능) |
'Web > JavaScript' 카테고리의 다른 글
06. 함수(Function) (0) | 2024.04.16 |
---|---|
05. 배열(Array) (0) | 2024.04.16 |
04. 연산자, 제어문, 반복문 (0) | 2024.04.16 |
03. 데이터타입, 대화상자 (0) | 2024.04.16 |
01. 자바스크립트(JavaScript) (0) | 2024.04.12 |