오늘은 JS에서 클래스를 사용하는 방법을 알려드리겠습니다. 클래스는 인스턴스의 프로토타입과 동일합니다. 클래스에 정의된 모든 메서드는 인스턴스에 상속됩니다 메서드 앞에 정적 키를 추가하면 이 단어가 나타납니다. 메소드가 인스턴스에 상속되지 않는다는 의미입니다. 아래 예를 들어 보겠습니다.
[javascript]view plaincopy classFoo{ staticclassMethod(){ return'hello'; } } Foo.classMethod()//'hello' varfoo=newFoo(); foo.classMethod() //TypeError:foo.classMethodisnotafunction
[javascript]view plaincopy classFoo{ staticclassMethod(){ return'hello'; } } classBarextendsFoo{}
[javascript]view plaincopy classFoo{ staticclassMethod(){ return'hello'; } } classBarextendsFoo{ staticclassMethod(){ returnsuper.classMethod()+',too'; } } Bar.classMethod();静态属性[javascript]view plaincopy classFoo{} Foo.prop=1; Foo.prop//1 上面的写法为Foo类定义了一个静态属性prop。
[javascript]view plaincopy //以下两种写法都无效 classFoo{ //写法一 prop:2 //写法二 staticprop:2 }
[javascript]view plaincopy classMyClass{ myProp=42; constructor(){ console.log(this.myProp);//42 } }
[javascript]view plaincopy classReactCounterextendsReact.Component{ constructor(props){ super(props); this.state={ count:0 }; } } 上面代码中, 构造方法constructor里面, 定义了this.state属性。 有了新的写法以后, 可以不在constructor方法里面定义。 [javascript]view plaincopy classReactCounterextendsReact.Component{ state={ count:0 }; }
[javascript]view plaincopy classReactCounterextendsReact.Component{ constructor(props){ super(props); this.state={ count:0 }; } state; }
[javascript]view plaincopy //老写法 classFoo{} Foo.prop=1; //新写法 classFoo{ staticprop=1; }
JS 개발에서 jssplice() 메서드를 사용하는 방법
위 내용은 JS에서 클래스 속성을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!