8. Ext.js에서 클래스를 작성하는 방법
여기에서는 Ext core3.0을 사용하여 Ext에서 클래스를 정의합니다(물론 클래스를 확장하는 데 더 많이 사용됩니다). . Ext Panel, MessageBox 등과 같은 전체 프레임워크의 다양한 컨트롤은 Ext.extend 메서드를 사용하여 확장됩니다. 여기서는 가장 간단한 클래스를 정의하는 데에만 사용합니다.
Ext.extend의 코드를 보면 클래스를 조합하기 위해 여전히 생성자와 프로토타입을 사용하고 있음을 알 수 있습니다.
여기에서는 두 개의 매개변수만 전달하면 됩니다. 첫 번째 매개변수는 루트 클래스 Object이고 두 번째 매개변수는 프로토타입입니다.
/**
* 사람类
* @param {객체} 이름
*/
var Person = Ext.extend(Object,{
constructor : function(name) {this.name = name;},
setName : function(name) {this.name = name;},
getName : function() {return this.name;}
});
//객체 생성
var p = new Person("Lily");
console.log(p.getName());//Lily
p.setName("Andy")
console.log(p.getName());//Andy
/ /instanceof 및 p.constructor가 Person을 올바르게 가리키는지 테스트
console.log(p instanceof Person);//true
console.log(p.constructor == Person);//true
특별한 점은 단순히 클래스를 정의하면 첫 번째 매개변수는 항상 Object로 전달될 수 있다는 것입니다.