SPATIUM Mobile
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     Android (3)
     Linux (1)
     MacOS (1)
     OS (1)
     Solaris10 (15)
     Windows (1)
     Windows Server (2)
     Windows XP (3)
   ID  
   Password  
  |  
  Location United States
  IP Address 18.216.239.211
2024. 04
123456
78910111213
14151617181920
21222324252627
28
29
30
Category  Languages, JavaScript
Writer 김태우 Date 2014-01-22 17:51:11 Visit 3859
Javascript 개체
 

Javascript 개체

 
Javascript의 개체는 단순히 key/value의 쌍을 가지는 컬렉션이다. 
MS계열에서의 문자열키가 있는 사전으로 생각할수도 있다.
 
"."(dot)연산자나 일반적으로 사전을 처리할때 사용되는 "[]"연산자를 사용하여 
개체속성을 설정하거나 얻을수 있다.
다음 <코드1> 과 <코드2>, <코드3>는 정확히 같은 작업을 수행한다.
 
 
<코드1>
 
var userObject = new Object();
userObject.lastLoginTime = new Date();
alert(userObject.lastLoginTime); 
 
 
<코드2>
 
var userObject = {}; // equivalent to new Object()
userObject[“lastLoginTime”] = new Date();
alert(userObject['lastLoginTime']);
 
 
<코드3>
 
var userObject = { 'lastLoginTime': new Date() };
alert(userObject.lastLoginTime);
 
 
* 참고
var userObject; // var 문에서 변수를 초기화 하지 않으면 undefined 값을 자동 수행
- undefined를 숫자식에 사용할때 결과는 NaN(Not a Number)으로 변환, 문자식에서는 "undefined", boolean식은 false 로 변환.
 

Javascript 함수

 
Javascript에서는 함수와 개체간의 차이가 모호하다. 다음 <코드4>, <코드5>, <코드6>을 보면
함수는 함수 호출작업을 지원하는 개체라고 볼수 있다.
 
 
<코드4>
 
function func(x) {
    alert(x);
}
func('blah');
 
 
<코드5>
 
var func = function(x) {
    alert(x);
};
func('blah2');
 
 
<코드6>
 
var func = new Function(“x”, “alert(x);”);
func('blah3');
 
 
 
* 참고
형변환 우선순위 : 문자 > 숫자 > 부울
 
 
 

Javascrpit 클래스

 
Javascrpit에서는 클래스가 없다. 비슷한 효과를 낼수는 있지만 클래스는 아니다. <코드7>
 
<코드7>
 
function DogConstructor(name) {
    this.name = name;
    this.respondTo = function(name) {
        if(this.name == name) {
            alert('Woof');        
        }
    };
}
 
var spot = new DogConstructor('Spot');
spot.respondTo('Rover'); 
spot.respondTo('Spot');  // alert "Woof"
 
 
* 참고
조건부 블럭내에 변수 선언시 var를 사용하지 않은 경우 전역변수로 사용되어짐.
조건부 블랙내에 변수 선언시 블럭 시작 시점에서 모든 변수 선언을 처리
 
 

Javascript 프로토타입

 
prototype 속성을 사용하여 속성 및 메서드를 개체에 추가할 수 있으면, 이미 만들어진 이후에도 추가 가능
 
<코드8>
var testVehicle = new Vehicle(2, false);
Vehicle.prototype.color = "red";
var testColor = testVehicle.color; // testColor = "red"
 
기존 객체를 사용하여 다른 객체로 파생할때 사용
 
<코드9>
var Bicycle = Object.create(Object.getPrototypeOf(Vehicle), {
    "pedals" :{value: true}
});
 
<코드9>에서 Bicycle의 프로토타입은 Vehicle.prototype 이다.
 
* 참고
JavaScript에는 object, function, string, number, boolean 및 undefined 형식만 존재
 - 'typeof'예약어로 확인 가능. ex) typeof(a) or typeof b
 
 
 
원문 : http://msdn.microsoft.com/ko-kr/magazine/cc163419.aspx
 
 
Tags  javascript 개체, javascript function, javascript pro
  Relation Articles
[Languages-JavaScript] Javascript 개체 (2014-01-22 17:51:11)
  Your Opinion
Member ID
150 letters
Copyright (C) SPATIUM. All rights reserved.
[SPATIUM]WebMaster Mail