JavaScript 객체는 상태와 동작(속성 및 메서드)을 갖는 개체입니다. 예: 자동차, 펜, 자전거, 의자, 유리, 키보드, 모니터 등
JavaScript는 객체 기반 언어입니다. JavaScript에서는 모든 것이 객체입니다.
JavaScript는 클래스 기반이 아닌 템플릿 기반입니다. 여기서는 객체를 가져오기 위해 클래스를 생성하지 않습니다. 그러나 우리는 객체 생성을 지시합니다.
JavaScript로 객체 생성
객체를 생성하는 방법에는 3가지가 있습니다.
자바는 다음을 가지고
- 객체 리터럴 기준
- Object의 인스턴스를 직접 생성(new 키워드 사용)
- 객체 생성자를 사용하여(new 키워드 사용)
1) 객체 리터럴별 JavaScript 객체
객체 리터럴을 사용하여 객체를 생성하는 구문은 다음과 같습니다.
object={property1:value1,property2:value2.....propertyN:valueN}
보시다시피 속성과 값은 :(콜론)으로 구분됩니다.
JavaScript로 객체를 생성하는 간단한 예를 살펴보겠습니다.
emp={id:102,name:'Shyam Kumar',salary:40000} document.write(emp.id+' '+emp.name+' '+emp.salary);지금 테스트해보세요
위 예제의 출력
2) 객체의 인스턴스를 생성하여
객체를 직접 생성하는 구문은 다음과 같습니다.
var objectname=new Object();
여기, 새 키워드 객체를 생성하는데 사용됩니다.
객체를 직접 생성하는 예를 살펴보겠습니다.
var emp=new Object(); emp.id=101; emp.name='Ravi Malik'; emp.salary=50000; document.write(emp.id+' '+emp.name+' '+emp.salary);지금 테스트해보세요
위 예제의 출력
3) 객체 생성자를 사용하여
여기서는 인수를 사용하여 함수를 만들어야 합니다. 이 키워드를 사용하여 현재 개체에 각 인수 값을 할당할 수 있습니다.
그만큼 이 키워드 현재 개체를 나타냅니다.
당신은 스플 라이스입니다
객체 생성자로 객체를 생성하는 예는 다음과 같습니다.
function emp(id,name,salary){ this.id=id; this.name=name; this.salary=salary; } e=new emp(103,'Vimal Jaiswal',30000); document.write(e.id+' '+e.name+' '+e.salary);지금 테스트해보세요
위 예제의 출력
JavaScript 객체의 메소드 정의
JavaScript 객체에 메소드를 정의할 수 있습니다. 하지만 메소드를 정의하기 전에 메소드와 동일한 이름을 가진 함수에 속성을 추가해야 합니다.
객체에 메소드를 정의하는 예는 다음과 같습니다.
function emp(id,name,salary){ this.id=id; this.name=name; this.salary=salary; this.changeSalary=changeSalary; function changeSalary(otherSalary){ this.salary=otherSalary; } } e=new emp(103,'Sonoo Jaiswal',30000); document.write(e.id+' '+e.name+' '+e.salary); e.changeSalary(45000); document.write(' <br>'+e.id+' '+e.name+' '+e.salary);지금 테스트해보세요
위 예제의 출력
JavaScript 개체 메서드
Object의 다양한 메소드는 다음과 같습니다.
예 아니오 | 행동 양식 | 설명 |
---|---|---|
1 | 객체.할당() | 이 메소드는 소스 객체에서 대상 객체로 열거 가능하고 자체 속성을 복사하는 데 사용됩니다. |
2 | 객체.생성() | 이 메서드는 지정된 프로토타입 개체와 속성을 사용하여 새 개체를 만드는 데 사용됩니다. |
삼 | 객체.정의속성() | 이 메서드는 속성의 일부 동작 특성을 설명하는 데 사용됩니다. |
4 | 객체.정의속성() | 이 방법은 여러 개체 속성을 생성하거나 구성하는 데 사용됩니다. |
5 | 객체.항목() | 이 메소드는 키, 값 쌍의 배열이 포함된 배열을 반환합니다. |
6 | 객체.동결() | 이 방법을 사용하면 기존 속성이 제거되는 것을 방지할 수 있습니다. |
7 | Object.getOwnPropertyDescriptor() | 이 메소드는 지정된 객체의 지정된 속성에 대한 속성 설명자를 반환합니다. |
8 | Object.getOwnPropertyDescriptors() | 이 메소드는 주어진 객체의 모든 고유한 속성 설명자를 반환합니다. |
9 | Object.getOwnPropertyNames() | 이 메소드는 발견된 모든 속성(열거 가능 여부)의 배열을 반환합니다. |
10 | Object.getOwnPropertySymbols() | 이 메소드는 모든 자체 기호 키 속성의 배열을 반환합니다. |
열하나 | Object.getPrototypeOf() | 이 메소드는 지정된 객체의 프로토타입을 반환합니다. |
12 | Object.is() | 이 방법은 두 값이 동일한 값인지 확인합니다. |
13 | Object.isExtensible() | 이 메서드는 개체가 확장 가능한지 확인합니다. |
14 | Object.isFrozen() | 이 메서드는 개체가 고정되었는지 확인합니다. |
열 다섯 | Object.isSealed() | 이 메서드는 객체가 봉인되었는지 확인합니다. |
16 | 객체.키() | 이 메소드는 주어진 객체의 고유한 속성 이름 배열을 반환합니다. |
17 | Object.preventExtensions() | 이 방법은 객체의 확장을 방지하는 데 사용됩니다. |
18 | 객체.씰() | 이 방법을 사용하면 새 속성이 추가되는 것을 방지하고 모든 기존 속성을 구성할 수 없는 것으로 표시합니다. |
19 | Object.setPrototypeOf() | 이 메소드는 지정된 객체의 프로토타입을 다른 객체로 설정합니다. |
이십 | 객체.값() | 이 메서드는 값 배열을 반환합니다. |