자바스크립트의세 변수의 저장은 var로 지정합니다.
var 는 string형 int형 bool형 null 등 모든 자료형을 담을 수 있습니다.
C / C++ / Java 등은 자료형이 나누어져 있습니다. int double 등으로 지정을 하지만
자바스크립트에서는 var로 대체합니다.
var 키워드는 대입되는 값을 가지고 타입을 결정합니다. 예를들어
int num = 10; // 정수형 num에 10을 저장
var num = 10; // 10이 정수이니 num에 정수를 담아라. 라는 뜻이 되겠네요. ( 해석이 좀 이상한가요 ? )
C#에서도 동일하게 var 키워드(암시적 형식 지역 변수)를 사용하기도 합니다.
다이나믹 등 더 자세한 설명으로 들어갈 수 있지만 차후 포스팅에 서술하도록 하겠습니다.
변수의 선언은
1. var 변수명;
2. var 변수명 = 값;
이렇게 두 방법으로 분류 할 수 있습니다.
1번 같은 경우는 초기값을 지정해주지 않은 상태입니다. 아무것도 지정해주지 않으면 null 이 입력이 됩니다.
2번같은 경우는 초기값을 값으로 지정해주기 때문에 값을 가지고 있습니다.
예 )
var number;
number = 10;
var number; 이 부분에서 number의 값은 undefined(정의되지 않은) 입니다.
그 후 undefined값을 가진 변수명 number에 10을 넣습니다.
후에 출력해보면 number의 값은 10을 출력합니다.
문자형도 같게 선언하면 됩니다.
var name = "MyoungSeop";
"" , '' 둘다 사용가능합니다. ( 큰 따옴표 , 작은 따옴표 )
논리형은 조건이 있기때문에 조금 다르게 비교합니다.
var 변수명 = 참 or 거짓; 또는 Boolean(데이터); 입니다
var s = true; // 참
var t = 10 >= 100; // 거짓
vr k =Boolean("hello"); // 참
위를 보시면 Boolean("hello"); 에 true를 반환하는데 , 이 이유는
Boolean은 숫자0 , null, 빈문자(""), undefined 를 제외한 모든데이터에 true를 반환하기 때문입니다.
var m = Boolean(0); // 거짓
var s =Boolean("홍길동") // 참
null과 undefined 는 비슷하지만 약간 다릅니다. 아래 예제로 살펴보겟습니다.
var s;
document.writeln(s);
document.writeln(typeof(s));
if(s===null){
document.writeln("null이다");
}
else{
document.writeln("null아니다");
}
s = null;
if(s===null){
document.writeln("null이다");
}
else{
document.writeln("null아니다");
}
s;
if(s===null){
document.writeln("null이다");
}
else{
document.writeln("null아니다");
}
s = undefined;
if(s===null){
document.writeln("null이다");
}
else{
document.writeln("null아니다");
}
var s; 를 선언하고 바료 출력하였더니 값으로 undefined가 출력되었습니다.
그 후 s의 타입을 출력하였더니 undefined 가 출력되었습니다.
s == null 이냐고 물어봤을때 null아니다 라고 답했습니다.
그러고 나서 s에 null을 대입하였습니다.
다시 s == null 이냐고 물어봤을때 null이다 라고 답했습니다.
그 후 s; 로 초기화 해본 후 다시 물어봤습니다.
s == null 이냐고 물어봤을때 null이다 라고 답했습니다.
그 후 s에 undefined를 대입하였습니다.
s == null 이냐고 물어봤을때 null아니다 라고 답했습니다.
'JavaScript' 카테고리의 다른 글
템플릿 문자열 (0) | 2020.08.25 |
---|---|
Javascript 내장객체 (0) | 2020.03.27 |
[Do it] Javascript 반복문 ( 구구단 출력 ) (2) | 2020.03.26 |
[Do it] Javascript 도전 미션 - 2 (0) | 2020.03.25 |
[Do it] Javascript 도전 미션 - 1 (0) | 2020.03.25 |