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 객체 수정
- 이 절에서는 새로운 메서드를 생성하거나 기존 메서드를 재정의하여 객체를 수정하는 방법을 설명합니다.