03JavaScript 대상 - 대상 지향
8049 단어 학문 의 전단 을 다시 배우다.
2. 대상 과 자 바스 크 립 트 대상 을 대상 으로
1. 대상 에 대한 두 가지 의혹
2. 대상 과 자 바스 크 립 트 대상 을 대상 으로
대상 을 향 하 다
Object (대상) 는 영어 로 모든 사물 의 총칭 이지 만 중국어 로 는 전문 명사 입 니 다.서로 다른 프로 그래 밍 언어 에서 디자이너 도 다양한 언어 특성 을 이용 하여 대상 을 묘사 했다. 가장 성공 적 인 것 은 '클래스' 방식 으로 대상 을 묘사 하 는 것 이다. 예 를 들 어 자바, c + +, 자바 스 크 립 트 는 이변 적 인 방식 인 원형 을 선택 했다.
자 바스 크 립 트 대상
JavaScript 대상 의 특징
var o1 = {
a: 1}
var o2 = {
a: 1}
console.log(o1 == o2) // false
두 번 째 와 세 번 째 특징 에 대해 자 바 는 그들 을 '속성' 과 '방법' 이 라 고 부른다. 자 바 스 크 립 트 에서 상태 와 행 위 를 '속성' 으로 추상 화하 고 구체 적 인 예 는 다음 코드 를 볼 수 있다.
var o = {
d: 1;
f(){
console.log(this.d)
}
}
대상 o 에서 d 는 하나의 속성 이 고 함수 f 도 하나의 속성 입 니 다.자 바스 크 립 트 에서 대상 의 상태 와 행 위 는 모두 속성 으로 추상 화 된다.대상 의 기본 적 인 특징 을 실현 한 토대 에서 자 바스 크 립 트 대상 만 의 특징 은 대상 이 고도 의 동태 성 을 가지 고 있다 는 것 이다. 이것 은 자 바스 크 립 트 가 사용자 가 실행 할 때 대상 에 게 대상 을 바 꾸 는 행위 와 능력 을 부 여 했 기 때문이다.
var o = {
a: 1 }
o.b = 2
console.log(o.a, o.b) // 1 2
JavaScript 대상 의 두 가지 속성
자 바스 크 립 트 는 속성 을 한 그룹의 특징 으로 설명 합 니 다.속성 은 데이터 속성 과 접근 기 속성 으로 나 뉜 다.
데이터 속성
접근 기 속성 (getter / setter)
내 장 된 함수 getOwnProperty Descriptor (대상, "속성") 를 통 해 데이터 속성 보기
var o = {
a: 1 };
o.b = 2;
//a b
Object.getOwnPropertyDescriptor(o,"a") // {value: 1, writable: true, enumerable: true, configurable: true}
Object.getOwnPropertyDescriptor(o,"b") // {value: 2, writable: true, enumerable: true, configurable: true}
내 장 된 함수 Object. defineProperty (대상, "속성", {접근 기 key: value}) 를 통 해 접근 기 속성 이나 속성 특징 을 정의 합 니 다.
var o = {
a: 1 };
Object.defineProperty(o, "b", {
value: 2, writable: false, enumerable: false, configurable: true});
//a b ,
Object.getOwnPropertyDescriptor(o,"a"); // {value: 1, writable: true, enumerable: true, configurable: true}
Object.getOwnPropertyDescriptor(o,"b"); // {value: 2, writable: false, enumerable: false, configurable: true}
o.b = 3;
console.log(o.b); // 2