JavaScript 객체

现实生活中的对象、属性和方法

현실生活中,汽车是一个객체.

자동차는 무게와 색상과 같은속성또한 시작과 정지와 같은함수

객체 속성 함수

car.name = porsche

car.model = 911

car.length = 4499mm

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

모든 자동차는 동일한속성을 가지지만 속성 값은 차량에 따라 다릅니다.

모든 자동차는 동일한함수하지만 메서드는 다른 시간에 실행됩니다.

JavaScript 객체

이전에 배웠듯이 JavaScript 변수는 데이터 값의 컨테이너입니다.

이 코드는 하나의단일 값(porsche)로 이름된 car에변수

var car = "porsche";

자신이 직접 시도해 보세요

객체는 변수이지만 객체는 많은 값을 포함합니다.

이 코드는다중 값(porsche, 911, white)로 이름된 car에변수

var car = {type:"porsche", model:"911", color:"white"};

자신이 직접 시도해 보세요

값은이름:값이름과 값이 콜론으로 구분된 대로 작성됩니다().

JavaScript 객체는이름된 값의 컨테이너로 불립니다.

객체 속성

(JavaScript 객체에서의)이름:값 쌍이속성.

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
속성 속성 값
firstName Bill
lastName Gates
age 62
eyeColor blue

객체 메서드

객체는함수.

함수는 객체에서 실행됩니다.동작.

함수는함수 정의속성에 저장되었습니다.

속성 속성 값
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

함수는 속성으로 저장된 함수입니다.

인스턴스

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

this 키워드

함수 정의에서this 함수를 호출한 "소유자"를 참조합니다.

위의 예제에서this 는 "fullName 함수를 가진"을 의미합니다 person 객체.

다시 말해this.firstName 의 의미는 this 객체의 firstName 속성.

다음과 같이 입력하십시오 JS this 키워드이 장에서는 this 키워드에 대해 더 배웁니다.

객체 정의

우리는 JavaScript 객체를 정의(생성)했습니다:

인스턴스

var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

자신이 직접 시도해 보세요

공백과 줄 바꿈은 허용됩니다. 객체 정의는 여러 행에 걸쳐 정의될 수 있습니다:

인스턴스

var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,,
    eyeColor:"blue"
};

자신이 직접 시도해 보세요

대상 속성 접근

대상 속성에 접근할 수 있는 두 가지 방법이 있습니다:

objectName.propertyName

또는

objectName["propertyName"]

예제 1

person.lastName;

자신이 직접 시도해 보세요

예제 2

person["lastName"];

자신이 직접 시도해 보세요

대상 메서드 접근

대상 메서드에 접근할 수 있는 문법은 다음과 같습니다:

objectName.methodName())

인스턴스

name = person.fullName();

자신이 직접 시도해 보세요

만약()를 사용하지 않습니다 fullName 메서드에 접근하면, 다음을 반환합니다함수 정의

인스턴스

name = person.fullName;

자신이 직접 시도해 보세요

메서드는 실제로 함수 정의를 속성 값의 형태로 저장합니다。

문자열, 숫자, 부울 값을 객체로 선언하지 마세요!

JavaScript 변수를 "new" 키워드로 선언하면, 해당 변수는 객체로 생성됩니다:

var x = new String();        // x를 String 객체로 선언합니다
var y = new Number();        // y를 Number 객체로 선언합니다
var z = new Boolean();       // z를 Boolean 객체로 선언합니다

문자열, 숫자 또는 논리 객체를 피해야 합니다. 이들은 코드의 복잡성을 증가시키고 실행 속도를 감소시킵니다.

이 강의의 나중 장에서 객체에 대한 더 많은 정보를 배울 수 있습니다.

교재

더 많은 정보가 필요하시면 JavaScript 객체더 많은 정보는 JavaScript 고급 강의에서 찾아보세요:

ECMAScript 방향대상 기술
이 절에서는 방향대상 기술의 용어, 방향대상 언어의 요구사항 및 객체 구성을 간단히 소개합니다.
ECMAScript 객체 적용
이 절에서는 객체를 선언하고 인스턴스화하는 방법, 객체를 참조하고 해제하는 방법, 그리고 바인딩 개념을 설명합니다.
ECMAScript 객체 유형
이 절에서는 ECMAScript의 세 가지 유형: 로컬 객체, 내장 객체 및 호스트 객체를 설명하고 관련 참조서에 대한 링크를 제공합니다.
ECMAScript 객체 범위
이 절에서는 ECMAScript 범위 및 this 키워드를 설명합니다.
ECMAScript 클래스 또는 객체 정의
이 절에서는 ECMAScript 객체나 클래스를 생성하는 여러 가지 방법을 자세히 설명합니다.
ECMAScript 객체 수정
이 절에서는 새로운 메서드를 생성하거나 기존 메서드를 재정의하여 객체를 수정하는 방법을 설명합니다.