태그

2015년 2월 25일 수요일

11. 자바스크립트 객체(JS Objects)

[참고] http://www.w3schools.com/js/js_objects.asp


Real Life Objects, Properties, and Methods(실생활의 객체, 속성, 메소드)

실제 생활에서, 자동차는 객체이다.
자동차는 무게와 색상 같은 속성, 출발과 정지 같은 메소드를 가진다.
ObjectPropertiesMethods

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = white

car.start()

car.drive()

car.brake()

car.stop()
모든 자동차는 같은 속성을 가지지만, 속성 값은 자동차마다 다르다.
모든 자동차는 같은 메소드를 가지지만, 메소드는 매번 다른 시간에 수행된다.

JavaScript Objects(자바스크립트 객체)

이미 자바스크립트 변수는 데이터 값을 저장하기 위한 컨테이너라고 배웠다.
이 코드는 간단한 값(Fiat)을 car 변수에 할당한다.
var car = "Fiat";

Try it Yourself »
객체도 변수이다. 하지만 많은 변수를 포함할 수 있다.
이 코드는 여러 값(Fiat, 500, white) 를 car 변수에 할당한다.
var car = {type:"Fiat", model:500, color:"white"};

Try it Yourself »
값은 이름:값 형식으로 쓰여진다(이름과 값은 콜론으로 구분한다).
Note자바스크립트 객체는 이름이 부여된 값을 위한 컨테이너이다.

Object Properties(객체 속성)

이름:값 형식(자바스크립트 객체에서)은 속성이라 불린다.
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

PropertyProperty Value
firstNameJohn
lastNameDoe
age50
eyeColorblue

Object Methods(객체 메소드)

메소드는 객체에서 수행될 수 있는 행동이다.
메소드는 함수 정의로서 속성에 저장된다.
PropertyProperty Value
firstNameJohn
lastNameDoe
age50
eyeColorblue
fullNamefunction() {return this.firstName + " " + this.lastName;}
Note자바스크립트 객체는 속성과 메소드라 불리는, 이름지어진 값을 위한 컨테이너다.

Object Definition(객체 정의)

자바스크립트 객체는 object literal로 정의(생성)한다.

Example

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

Try it Yourself »
공백과 줄바꿈은 중요하지 않다. 객체 정의는 여러 줄이 될 수 있다.

Example

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};

Try it Yourself »

Accessing Object Properties(객체 속성 접근)

두가지 방식으로 객체 속성을 접근할 수 있다.
objectName.propertyName
or
objectName[propertyName]

Example1

person.lastName;

Try it Yourself »

Example2

person["lastName"];

Try it Yourself »

Accessing Object Methods(객체 메소드 접근)

다음 구문으로 객체 메소드에 접근한다.
objectName.methodName()

Example

name = person.fullName();

Try it Yourself »
만약 () 없이 fullName 속성에 접근한다면, 함수 정의가 반환될 것이다.

Example

name = person.fullName;

Try it Yourself »

Do Not Declare Strings, Numbers, and Booleans as Objects!(객체로 Strings, Numbers, Booleans을 선언하지 마라)

자바스크립드 변수가 "new" 키워드와 함께 선언된다면, 변수는 객체로 만들어진다.
var x = new String();        // Declares x as a String objectvar y = new Number();        // Declares y as a Number objectvar z = new Boolean();       // Declares z as a Boolean object
String, Number, Boolean 객체를 피하자. 그것들은 코드를 복잡하게하고 실행속도를 느리게한다.
NoteYou will learn more about objects later in this tutorial.

댓글 없음:

댓글 쓰기