클래스: 정적 멤버
10698 단어 codenewbiewebdevjavascriptbeginners
정적 메서드
class Person {
name;
age;
constructor(name, age) {
this.name = name;
this.age = age;
}
static orderByAge(a, b) {
return a.age - b.age;
}
}
const employees = [
new Person("Parwinder", 22),
new Person("Robert", 33),
new Person("George", 18),
new Person("Eliu", 101),
new Person("Gaurav", 39)
]
employees.sort(Person.orderByAge);
console.log(employees);
위의 예에서
Person
클래스는 이름과 나이를 가진 사람을 생성합니다. orderByAge
라는 클래스에 정적 메서드가 있습니다. 이 방법은 모두의 나이를 비교합니다Person
. 나이의 순서는 특정 개인에 속하지 않고 그들 그룹(또는 그들이 모두 생성된 상위 클래스)에 속합니다.위 코드의 출력은 다음과 같습니다.
[ Person { name: 'George', age: 18 },
Person { name: 'Parwinder', age: 22 },
Person { name: 'Robert', age: 33 },
Person { name: 'Gaurav', age: 39 },
Person { name: 'Eliu', age: 101 } ]
정적 메서드는 클래스에만 있는 메서드라는 것을 명심하십시오! 아래의 마지막 두 콘솔 로그를 수행할 수 없습니다.
class Person {
name;
age;
constructor(name, age) {
this.name = name;
this.age = age;
}
static orderByAge(a, b) {
return a.age - b.age;
}
static sayMyName(person) {
return person.name;
}
}
const me = new Person("Parwinder", 101);
console.log(me.name); // Parwinder => this is valid
console.log(me.age); // 101 => this is valid
console.log(me.orderByAge); // undefined or Property 'orderByAge' is a static member of type 'Person' 🚨
console.log(me.sayMyName); // undefined or Property 'sayMyName' is a static member of type 'Person' 🚨
정적 속성(또는 공개 정적 필드)
🚨 이 기능은 ES 제안의 3단계에 있습니다. 현재 Chrome 72 이상에서만 지원합니다. proposal here 및 compatibility here 확인
필드가 우리가 생성하는 모든 인스턴스가 아니라 클래스당 한 번만 존재해야 할 때 정적 필드를 사용합니다. 구성, 끝점, 캐시 등을 저장하는 데 사용할 수 있습니다.
class Base {
static field = "Base Class";
}
class Child extends Base {
}
class GrandChild extends Child {
static field = "Grand Child Class";
}
console.log(Base.field); // Base Class
console.log(Child.field); // Base Class
console.log(GrandChild.field); // Grand Child Class
Reference
이 문제에 관하여(클래스: 정적 멤버), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bhagatparwinder/class-static-members-3kl3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)