클래스 필드 또는 메서드를 공용으로 만들고 TypeScript의 클래스 인스턴스에서 액세스하는 방법은 무엇입니까?
10716 단어 typescript
기본적으로 모든 클래스 필드 및 메서드는 가시성
public
을 가지며 클래스 인스턴스에서 액세스할 수 있습니다. 가독성을 위해 필드 이름이나 메서드 앞에 public
키워드를 명시적으로 추가할 수도 있습니다.TL;DR
/*
Make class fields or methods public and access
from a class instance in TypeScript 🚀
*/
// a simple class
class Car {
public name: string; // <- this field is public
// 👇🏽 this field is also public but we have
// not written the `public` keyowrd
// since it is by default
yearMade: number;
constructor(name: string, yearMade: number) {
this.name = name;
this.yearMade = yearMade;
}
// 👇🏽 this method is public
public startEngine() {
console.log("Engine started..");
}
}
// create an instance of the `Car` class
const lexus = new Car("Lexus", 2022);
// we can access the fields and methods since
// every fields and methods by default have `public` visibility
console.log(lexus.name); // Lexus ✅
console.log(lexus.yearMade); // 2022 ✅
lexus.startEngine(); // Engine started.. ✅
예를 들어,
Car
와 name
라는 2개의 속성과 yearMade
라는 메서드가 있는 startEngine
라는 클래스가 있다고 가정해 보겠습니다.// a simple class
class Car {
name: string;
yearMade: number;
startEngine() {
console.log("Engine started..");
}
}
Car
클래스에서 기본적으로 위의 모든 필드와 메서드는 클래스 인스턴스를 사용하여 액세스할 수 있습니다.이를 테스트하기 위해
Car
클래스의 인스턴스를 만들고 메서드와 필드에 액세스해 봅시다.다음과 같이 할 수 있습니다.
// a simple class
class Car {
name: string;
yearMade: number;
constructor(name: string, yearMade: number) {
this.name = name;
this.yearMade = yearMade;
}
startEngine() {
console.log("Engine started..");
}
}
// create an instance of the `Car` class
const lexus = new Car("Lexus", 2022);
// we can access the fields and methods since
// every fields and methods by default have `public` visibility
console.log(lexus.name); // Lexus ✅
console.log(lexus.yearMade); // 2022 ✅
lexus.startEngine(); // Engine started.. ✅
이 외에도 필드 또는 메소드 이름을 쓰기 전에
public
키워드를 사용하여 필드 또는 메소드를 공용으로 명시적으로 정의할 수 있습니다. public
키워드를 작성할 필요는 없지만 일부는 가독성 때문에 선호할 수 있습니다.다음과 같이 할 수 있습니다.
// a simple class
class Car {
public name: string; // <- this field is public
yearMade: number; // <- this field is also public but we have not written it
constructor(name: string, yearMade: number) {
this.name = name;
this.yearMade = yearMade;
}
// 👇🏽 this method is public
public startEngine() {
console.log("Engine started..");
}
}
// create an instance of the `Car` class
const lexus = new Car("Lexus", 2022);
// we can access the fields and methods since
// every fields and methods by default have `public` visibility
console.log(lexus.name); // Lexus ✅
console.log(lexus.yearMade); // 2022 ✅
lexus.startEngine(); // Engine started.. ✅
우리는 성공적으로 클래스 필드와 메서드를 공개했으며 클래스 인스턴스를 사용하여 액세스할 수 있습니다. 예이 🥳!
codesandbox에 있는 위의 코드를 참조하십시오.
그게 다야 😃!
이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.
Reference
이 문제에 관하여(클래스 필드 또는 메서드를 공용으로 만들고 TypeScript의 클래스 인스턴스에서 액세스하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/melvin2016/how-to-make-class-fields-or-methods-public-and-access-from-a-class-instance-in-typescript-3d7n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)