SPATIUM Desktop
주소복사
About Operating System Languages Tools Favorites Notice Visit TEST  
     ADK (3)
     android (3)
     ASP (5)
     ASP.Net (1)
     C# (5)
     HTML (9)
     JAVA (7)
     JavaScript (9)
     jQuery (5)
     Mobile Web (2)
     node.js (1)
     Oracle (8)
     PHP (7)
     Spring Framework (4)
     SQL (17)
     WPF (5)
   ID  
   Password  
  |  
  Location United States
  IP Address 18.97.14.87
2024. 12
1234567
8910111213
14
15161718192021
22232425262728
293031
Category  Languages, JavaScript
Writer 김태우 Date 2014-01-22 17:51:11 Visit 4256
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