자바스크립트 회원가입 예제

JavaScript에서는 모든 특성을 읽을 수 있지만 값 특성만 변경할 수 있습니다(속성이 쓰기 가능한 경우에만). 속성 값의 상속은 값을 찾기 위해 개체의 프로토타입 체인을 검색하는 JavaScript에 의해 런타임에 발생합니다. 개체에 연결된 프로토타입이 하나 있으므로 JavaScript는 두 개 이상의 프로토타입 체인에서 동적으로 상속할 수 없습니다. JavaScript와 같은 프로토타입 기반 언어는 이러한 구별을 하지 않습니다. 프로토타입 기반 언어에는 새 개체에 대한 초기 속성을 얻기 위해 템플릿으로 사용되는 개체인 프로토타입 개체의 개념이 있습니다. 모든 개체는 생성 할 때 또는 런타임에 자체 속성을 지정할 수 있습니다. 또한 모든 개체를 다른 개체의 프로토타입으로 연결하여 두 번째 개체가 첫 번째 개체의 속성을 공유할 수 있습니다. JavaScript는 프로토타입 개체를 모든 생성자 함수와 연결할 수 있도록 하여 상속을 구현합니다. 따라서 직원 -관리자 예제를 정확히 만들 수 있지만 약간 다른 용어를 사용합니다. 먼저 이름 및 dept 속성을 지정하는 Employee 생성자 함수를 정의합니다. 그런 다음 Employee 생성자 호출 및 보고서 속성을 지정하는 Manager 생성자 함수를 정의합니다. 마지막으로 Employee.prototype에서 파생된 새 개체를 Manager 생성자 함수의 프로토타입으로 할당합니다. 그런 다음 새 Manager를 만들 때 Employee 개체에서 이름 및 dept 속성을 상속 합니다.

클래스 기반 언어에서는 일반적으로 컴파일 타임에 클래스를 만든 다음 컴파일 시간 또는 런타임에 클래스의 인스턴스를 인스턴스화합니다. 클래스를 정의한 후에는 클래스의 속성 수 또는 형식을 변경할 수 없습니다. 그러나 자바스크립트에서는 런타임에 모든 객체의 속성을 추가하거나 제거할 수 있습니다. 개체 집합의 프로토타입으로 사용되는 개체에 속성을 추가하는 경우 프로토타입인 개체도 새 속성을 가져옵니다. 삭제 연산자는 미리 정의된 JavaScript 개체 속성에서 사용해서는 안 됩니다. 응용 프로그램이 충돌할 수 있습니다. 배열은 특별한 유형의 개체입니다. 자바 스크립트의 typeof 연산자는 배열에 대한 “개체”를 반환합니다. 이러한 정의를 사용하여 해당 속성의 기본값을 얻는 이러한 개체의 인스턴스를 만들 수 있습니다. 다음 그림은 이러한 JavaScript 정의를 사용하여 새 개체를 만들고 새 개체의 속성 값을 보여 줍니다. 이러한 정의를 사용하면 이름과 같은 상속된 속성에 대한 초기 값을 지정할 수 없습니다.

JavaScript에서 상속된 속성에 대한 초기 값을 지정하려면 생성자 함수에 코드를 더 추가해야 합니다. JavaScript는 유사한 모델을 따르지만 생성자와 별도로 클래스 정의가 없습니다. 대신 특정 초기 속성 및 값 집합을 사용하여 개체를 만드는 생성자 함수를 정의합니다. 모든 JavaScript 함수를 생성자로 사용할 수 있습니다. 생성자 함수가 있는 새 연산자에서 새 개체를 만듭니다. 그 후 배열로 뭔가를해야 할 때마다, 당신은 방법을 모른다 – 여기 와서, 치트 시트를보고 올바른 방법을 찾을 수 있습니다. 예제는 올바르게 작성하는 데 도움이 됩니다. 곧 당신은 자동으로 당신의 측면에서 특정 노력없이, 방법을 기억합니다.

자바 스크립트 배열의 진정한 강점은 기본 제공 배열 속성 및 메서드입니다. in 문은 개체의 속성을 통해 루프됩니다. 다음 Java 및 JavaScript 직원 정의는 비슷합니다. 유일한 차이점은 Java에서 각 속성에 대한 형식을 지정해야하지만 JavaScript에서는 지정하지 않는다는 것입니다 (JavaScript가 약하게 입력 된 언어인 동안 Java가 강력하게 입력 된 언어이기 때문입니다).