new Object()를 사용하여 객체 생성
JavaScript에서 객체를 생성하는 방법은 여러 가지가 있으며 상황에 따라 다양한 방법을 사용할 수 있습니다. 가장 간단한 방법은 다음과 같이 new 연산자를 사용하는 것입니다.
리터럴 토큰은 배열이나 자바스크립트 표현식 또는 값일 수 있습니다.
만들기 new 연산자나 리터럴 표기법을 사용하는 사용자 정의 개체는 간단하고 논리적입니다. 그러나 가장 큰 단점은 결과를 재사용할 수 없다는 것입니다. 예를 들어 위의 첫 번째 예에서는 개체를 생성하는 것도 쉽지 않습니다. 사람의 이름이 "Tim Scarfe"가 아니면 약간의 변경 사항에 맞게 전체 개체를 재정의해야 합니다.
객체 구성 및 프로토타입
OOP 세계에서는 정의합니다. 이전 방법을 사용하는 객체는 여러 상황에서 제한이 있습니다. 객체를 재정의하지 않고 여러 번 사용할 수 있는 객체를 생성하는 방법이 필요합니다. 이 목표를 달성하기 위한 표준 방법입니다.
객체 생성자는 그냥 일반적인 자바스크립트 함수입니다(매개변수 정의, 다른 함수 호출 등). new 연산자에 의해 호출됩니다(아래 예에서 볼 수 있듯이). 함수 구문 형식의 객체 정의를 기반으로 하면 가장 잘 작동하도록 만들 수 있습니다.
예를 들어, 고양이의 이름과 색깔은 고양이의 속성 중 하나입니다. 중요한 것은 고양이가 모두 다른 이름과 야옹을 지을 수 있다는 것입니다. 이러한 특성에 맞는 객체 클래스를 생성하려면
코드 복사
코드는 다음과 같습니다.
여기서 cat() 함수는 객체 생성자이고, 그 속성과 메소드는 함수 본문에서 이것으로 표현됩니다. . 정의, 객체 생성자로 정의된 객체는 new로 인스턴스화됩니다. cat의 여러 인스턴스를 어떻게 쉽게 정의할 수 있는지 살펴보겠습니다. 이는 객체 생성자가 제공하는 유연성입니다. 객체 자체가 아닙니다.
프로토타입에 메서드를 추가합니다.
위에서 본 예에서는 이를 달성하는 또 다른 방법이 있습니다. 프로토타입.xxx
프로토타입은 객체를 정의한 후 메소드를 생성할 수 있습니다.
원래 cat 객체를 확장해 보겠습니다. 프로토타입을 사용하세요.
코드를 복사하세요 코드는 다음과 같습니다. 보시다시피 객체를 구현하기 위해 키워드 프로토타입만 사용합니다. 이 메소드는 정의 직후에 추가됩니다.
프로토타입을 사용하여 자바스크립트 객체를 오버로드합니다. 프로토타입은 사용자 정의 객체와 선택적으로 오버로드된 객체 모두에서 작동할 수 있습니다. 예를 들어 Date() 또는 문자열 가능성은 무한합니다. C에는 클래스 계층이라는 외부 개념이 있습니다.
Java와 C에는 클래스 계층에 대한 명시적인 개념이 있습니다. 즉, 모든 클래스는 속성을 상속받을 수 있습니다. 모든 클래스는 확장되거나 하위 클래스화되어 결과 하위 클래스가 상위 클래스의 동작을 상속받을 수 있습니다. 그러나 JavaScript는 클래스 기반 대신 프로토타입 상속을 지원합니다.
다음은 함수를 통한 상속의 예입니다.
다음은 함수를 통한 상속 방법을 보여줍니다.
>
상속 기반 프로토타입은 많은 JavaScript 애플리케이션에서 유용합니다.
(프로토타입 기반 상속은 많은 JavaScript 애플리케이션에서 매우 유용합니다.)
연관 배열로서의 객체
아시다시피, ( .) 연산자를 사용하여 저장할 수 있습니다.
객체의 속성을 어떻게 반복하나요?
for /in 루프를 사용해야 합니다.
for in 루프를 통해 객체의 속성을 탐색할 수 있습니다.