class-understanding-ECMAScipt6 독서노트 9.md
전언
전에 한 번 면접을 봤는데, 면접관이 나에게 몇 가지 상대를 대하는 디자인 방식이 있느냐고 물었다.나는 멍해졌다. 비록 고급 프로그램 설계의 6장을 여러 번 보았지만 정말 오랫동안 쓸모가 없었다. 만약 면접 준비를 하지 않은 것이 면접관에 대한 존중이 아니었다면 나는 확실히 좀 실례했다.어떤 사람들은 es6가 그렇게 복잡한 유형의 실현 방식을 기억할 필요가 없다고 말한다.나는 이런 견해에 편향되어 있다. 프로토타입 단어는 정말 너무 길고 유형의 실현 방식은 은밀하여 이해하기 어렵다.
예제 /*
* class
* className
* constructor constructor
* name class
* sayName prototype
*/
class className {
constructor(name){
this.name = name;
}
sayName(){
console.log(this.name);
}
}
왜 클라스 방법을 써요?
/*
* class
* className
* constructor constructor
* name class
* sayName prototype
*/
class className {
constructor(name){
this.name = name;
}
sayName(){
console.log(this.name);
}
}
왜 클라스 방법을 써요?
사용법
클래스는 매개 변수로 함수 클래스에 전송할 수 있으며 즉시 실행할 수 있습니다//
let PersonClass1 = class {/* */};
//
let PersonClass2 = class PersonClass22 {/* */};
클래스 내부 방법의 설정
get
class a {
get methodName(){
}
}
set
class a {
set methodName(){
}
}
생성기 방법
class a{
*createIterator(){
yield 1;
}
}
static 정적 방법
class a {
static methodName(){
}
}
//static constructor
// , , this
메서드 이름은 변수일 수 있습니다.
let method = 'methodName'
let PersonClass = class {
[method] (){
//do something
}
}
클래스 상속
예제
// extends
// super() constructor
// constructor(), super()
class Child extends Parent{
// constructor
}
//
class Child extends Parend{
constructor(args){
super(...args);
}
}
super()
//
let PersonClass1 = class {/* */};
//
let PersonClass2 = class PersonClass22 {/* */};
get
class a {
get methodName(){
}
}
set
class a {
set methodName(){
}
}
생성기 방법
class a{
*createIterator(){
yield 1;
}
}
static 정적 방법
class a {
static methodName(){
}
}
//static constructor
// , , this
메서드 이름은 변수일 수 있습니다.
let method = 'methodName'
let PersonClass = class {
[method] (){
//do something
}
}
클래스 상속
예제
// extends
// super() constructor
// constructor(), super()
class Child extends Parent{
// constructor
}
//
class Child extends Parend{
constructor(args){
super(...args);
}
}
super()
// extends
// super() constructor
// constructor(), super()
class Child extends Parent{
// constructor
}
//
class Child extends Parend{
constructor(args){
super(...args);
}
}
비고
Symbol.species 속성
기본 제공 객체에서 상속되며, 하위 클래스는 상위 클래스를 사용하는 모든 방법을 사용하여 하위 클래스의 인스턴스 아래의 기본 제공 객체 중 Symbol을 반환합니다.species
new.target
클래스의 constructor에서만 사용할 수 있습니다.계승할 때, 하위 클래스는 부모 클래스, new.target은 부모 클래스 이름과 같지 않습니다.이 성질을 통해 다른 방법이 이 종류를 계승하는 것을 막을 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.