* "use strict"; -- 브라우저에게 자바스크립트를 엄격하게 검사할 것을 요구
* 배경지식
- 변수는 페이지 단위로 관리
- 글러벌 변수 = 그 페이지 내에서 어디서든 접근할 수 있는 변수.
* 변수와 자료형
- 변수 선언 : 데이터형을 선언하지 않는다.
ex) var a;
a= 10; // Number데이터형
a= '홍길동'; // string 데이터형
a=true // boolean 데이터형
a=new Object() // Object 데이터형
a=function(){} // function 데이터형
(; <-- 을 굳이 붙이지 않아도 된다.)
- 출력 : 브라우저의 콘솔 창으로 출력할 수 있다.
* 바인딩 : 변수의 데이터형의 결정되는 것!
=> 값을 할당한 후 결정 된다.
ex) var b;
alert(b); ==> 결과 : undefined (바인딩이 안되어 있는 상태)
* 자료형 검사 : typeof();
- 변수의 데이터형 알아내기 : 바인딩 한 후 변수의 데이터형 확인
ex) var b
b = 10
alert(typeof(b)); ==> 결과 : number
* 동적 바인딩(dynamic binding <> static binding ex) JAVA , C, C++, C#)
- 변수의 데이터형은 고정되어 있지 않다
- 값을 할당할 때 데이터형이 결정 되는 것.
- 가능한 변수의 용도를 결정했으면 그대로 사용.
* 이전의 자바스크립트 명세에서는 var을 선언하지 않고 만든 변수를 글로벌 변수로 설정
현재는 반드시 var을 붙여야 한다.
* 중복선언 가능
- ex) var c = 10;
alert(c);
c= '홍길동'
alert(c);
* window객체 : 브라우저에 미리 정의된 객체 , 브라우저의 정보를 다루는 객체
. 글로벌 변수나 함수를 포함하고 있다.
. 글로벌 변수는 모두 window 객체의 프로퍼티로 포함된다.
. 글로벌 함수도 또한 모두 window객체에 포함된다.
- ex) var a = 30;
window.a = '홍길동'
alert(a); ==> 결과 : 홍길동 // a 앞에 window 객체 레퍼런스가 생략된 것!
alert(window.a); ==> 결과 : 홍길동
* prompt(), confirm()
- prompt()
ex) var v = prompt("이름이 뭐에요??") // 새로운 입력창이 뜬다. 결과를 쓰면 그게대한 새로운 창이 뜬다.
alert(v);
- confirm()
ex) var v = confirm("당신은 비트 수강생입니까??")
alert(v);
// confirm(".....")
// .... 안에 질문에 대해 확인을 누르면 true , 취소를 누르면 false 를 리턴한다.
* 배열 : [ , , , .....];
-ex) var names = ["홍길동", "임꺽정", "일지매"]
for( var i = 0; i < names.length; i++){
alert(names[i]);
}
==> 결과 : 홍길동
임꺽정
일지매
* 자료형 null, undefined
* == 와 ==== 의 차이
- var x1 = 20;
car x2 = "20";
// 암시적 형변환이 발생함.
if(x1 == x2){
console.log("같다..");
}
// 암시적 형변환 없이 정확하게 데이터형과 값이 일치하는지 확인
if(x1 === x2){
console.log(" 같다..");
}else{
console.log(" 다르다..");
}
댓글 없음:
댓글 쓰기