제이스크립트 객체 정의
제이스크립트에서 객체는 왕입니다. 객체를 이해하면 제이스크립트를 이해했습니다.
제이스크립트에서 거의 "모든 것"은 객체입니다.
- 부울은 객체입니다(만약 new 키워드 정의)
- 숫자는 객체입니다(만약 new 키워드 정의)
- 문자열은 객체입니다(만약 new 키워드 정의)
- 날짜는 항상 객체입니다
- 수학은 항상 객체입니다
- 정규 표현식은 항상 객체입니다
- 배열은 항상 객체입니다
- 함수는 항상 객체입니다
- 객체는 항상 객체입니다
모든 제이스크립트 값은 원시 값을 제외하고 모두 객체입니다.
제이스크립트 원시 값
원시 값속성이나 메서드가 없는 값을 의미합니다.
원시 데이터 타입원시 값을 가진 데이터를 의미합니다.
제이스크립트는 5가지 원시 데이터 타입을 정의했습니다:
- string
- number
- boolean
- null
- undefined
원시 값은 불변합니다(그들은 고정된 코드로 작성되었기 때문에 변경할 수 없습니다).
x = 3.14을 가정하면, x의 값을 변경할 수 있습니다. 하지만 3.14의 값을 변경할 수는 없습니다.
속성 | 형식 | 주석 |
---|---|---|
"Hello" | string | "Hello"는 항상 "Hello"입니다 |
3.14 | number | 3.14는 항상 3.14입니다 |
true | boolean | true는 항상 true입니다 |
false | boolean | false는 항상 false입니다 |
null | null | (object) null은 항상 null입니다 |
undefined | undefined | undefined는 항상 undefined입니다 |
객체는 변수를 포함하는 변수입니다
제이스크립트 변수는 단일 값을 포함할 수 있습니다:
예제
var person = "Bill Gates";
객체는 변수입니다. 하지만 객체는 많은 값을 포함할 수 있습니다.
값은이름 : 값의 형식으로 작성됩니다(이름과 값은 콜론으로 구분됩니다).
예제
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
제이스크립트 객체는이름 값의 집합입니다.
객체 속성
제이스크립트 객체의 이름 값은의 객체 속성입니다.。
의 객체 속성입니다. | 속성 |
---|---|
값 | firstName |
Bill | lastName |
Gates | age |
62 | eyeColor |
이름 값 쌍으로 작성된 객체는 다음과 같습니다:
- PHP의 연관 배열
- 파이썬의 딕셔너리
- C의 해시 테이블
- C의 해시 테이블
- Java의 해시 매핑
객체 속성은 원시 값, 다른 객체 및 함수일 수 있습니다.
Ruby와 Perl의 해시메서드는 객체에서 실행할 수 있는。
동작
객체 속성은 원시 값, 다른 객체 및 함수일 수 있습니다.对象方法는 포함함수 정의
의 객체 속성입니다. | 속성 |
---|---|
값 | firstName |
Bill | lastName |
Gates | age |
62 | eyeColor |
blue | fullName |
function() {return this.firstName + " " + this.lastName;}
JavaScript 객체는 속성과 메서드로 불리는 이름付け된 값의 컨테이너입니다.
다음 장에서 더 많은 방법을 배울 것입니다.
JavaScript 객체 생성
JavaScript를 사용하여 자신의 객체를 정의하고 생성할 수 있습니다.
- 객체를 생성하는 방법은 여러 가지가 있습니다:
- 단일 객체를 정의하고 생성하려면 객체 텍스트를 사용합니다.
- 단일 객체를 정의하고 생성하려면 키워드 new를 사용합니다.
객체 생성자를 정의하고 생성자 유형의 객체를 생성할 수 있습니다. ECMAScript 5에서는 함수를 통해도
Object.create()
객체를 생성하려면
객체를 생성하는 가장 간단한 방법입니다.
객체 텍스트를 사용하여 한 문장에서 객체를 정의하고 생성할 수 있습니다.
객체 텍스트는 괄호를 의미합니다 {}
의 이름:값 쌍(예를 들어 age:62)이 있습니다.
아래의 예제도 네 개의 속성을 가진 새로운 JavaScript 객체를 생성합니다:
예제
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
빈 공간과 줄 바꿈은 중요하지 않습니다. 객체 정의는 여러 행에 걸쳐서 정의될 수 있습니다:
예제
var person = { firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue" };
JavaScript 키워드 new를 사용하여
아래의 예제도 네 개의 속성을 가진 새로운 JavaScript 객체를 생성합니다:
예제
var person = new Object(); person.firstName = "Bill"; person.lastName = "Gates"; person.age = 50; person.eyeColor = "blue";
위의 두 예제의 결과는 같습니다. 사용할 필요가 없습니다. new Object()
。
간결성, 읽기 쉽고 실행 속도를 고려하여, 첫 번째 생성 방법(객체 텍스트 방법)을 사용하세요.
JavaScript 객체는 변할 수 있습니다
객체는 변할 수 있습니다: 그들은 참조를 통해 주소를 찾습니다. 그렇지 않습니다.
person이 객체인 경우, 아래의 문장은 person의 복사본을 생성하지 않습니다:
var x = person; // 이는 person의 복사본을 생성하지 않습니다.
객체 x 아니요 person의 복사본입니다. 그리고이것은 person.x와 person은 동일한 객체입니다.
x에 대한 어떤 변경도 person을 변경합니다. 왜냐하면 x와 person은 동일한 객체이기 때문입니다.
예제
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"} var x = person; x.age = 10; // 이는 동시에 x.age와 person.age를 변경합니다
주의사항:JavaScript 변수는 변하지 않습니다. 오직 JavaScript 객체만 변합니다.