TypeScript에서 클래스 이름 가져오기

Migel Hewage Nimesha 2023년1월30일
  1. TypeScript 클래스 및 객체
  2. 런타임에 TypeScript 개체의 유형 가져오기
  3. TypeScript 객체의 생성자
TypeScript에서 클래스 이름 가져오기

이전 JavaScript는 함수형 프로그래밍에 더 가깝습니다. JavaScript의 상위 집합인 TypeScript의 발전과 함께 객체 지향 프로그래밍 기능을 지원하기 시작했습니다.

객체 지향 프로그래밍의 기본 용어는 프로그램이 상호 작용하는 실제 개체로 구성된다는 것입니다.

TypeScript 클래스 및 객체

TypeScript는 class 개념으로 객체 지향 프로그래밍을 지원합니다. 클래스는 클래스 인스턴스를 만드는 데 사용되는 실제 엔터티의 청사진입니다.

TypeScript 클래스는 ES6부터 도입되었습니다. 클래스는 필드, 메서드 및 생성자로 구성됩니다.

class Animal {
    // properties/fields
    name: string;
    color: string;

    // constructor
    constructor(name: string) {
        this.name = name;
    }

    // methods/functions
    eat(): void {
        console.log("I am eating");
    }
}

필드는 Animal 개체의 이름과 색상을 저장하도록 정의됩니다. TypeScript 생성자는 객체의 속성을 초기화하는 데 사용됩니다.

위의 예와 같이 매개변수화할 수 있는 특수 함수입니다.

Animal 클래스를 사용하면 해당 클래스에서 개체를 만들 수 있습니다. TypeScript는 new 키워드를 사용하여 주어진 클래스에서 새 객체를 생성합니다.

TypeScript는 강력한 형식의 언어이므로 새로운 Animal 인스턴스의 유형은 Animal 유형이 됩니다.

let dog: Animal = new Animal('rocky');

보시다시피 Animal 인스턴스를 생성할 때 Animal 클래스 생성자가 호출되었습니다. Animal 클래스 생성자는 하나의 문자열 매개변수를 허용하며 객체를 생성하는 동안 전달해야 했습니다.

런타임에 TypeScript 개체의 유형 가져오기

런타임에 TypeScript 객체의 유형을 알아야 하는 몇 가지 시나리오가 있습니다. Vehicle이라는 클래스가 있다고 가정해 보겠습니다.

class Vehicle {
    vehicleNo: string;
    vehicleBrand: string

    constructor(vehicleNo: string, vehicleBrand: string) {
        this.vehicleNo = vehicleNo;
        this.vehicleBrand = vehicleBrand;
    }
}

Vehicle 개체 miniCar를 만들어 보겠습니다.

let miniCar: Vehicle = new Vehicle('GH-123', 'AUDI');

miniCarvehicle 객체이고 그 유형은 Vehicle입니다. 해당 클래스의 name 속성을 사용하여 특정 클래스의 이름을 확인할 수 있습니다.

통사론:

<class_name>.name

Vehicle 클래스의 이름을 확인합시다.

console.log(Vehicle.name);

출력:

Vehicle

TypeScript 객체의 생성자

언급했듯이 각 TypeScript 클래스는 프로그래머가 작성한 사용자 정의 생성자 또는 기본 생성자일 수 있는 생성자로 구성됩니다. TypeScript 함수의 특별한 유형입니다.

따라서 객체의 constructor 함수에 대한 참조를 얻을 수 있습니다.

통사론:

Object.constructor

다음과 같이 miniCar 객체의 생성자에 대한 참조를 가져오겠습니다.

let miniCarConstructorRef: any = miniCar.constructor;

다음으로 miniCarConstructorRef 변수 값을 콘솔에 기록합니다.

[Function: Vehicle]

예상대로 miniCar 객체의 생성자를 참조합니다.

TypeScript를 사용하면 name 속성을 사용하여 개체의 생성자 이름을 가져올 수 있습니다.

통사론:

Object.constructor.name

위의 구문을 사용하여 miniCar 개체의 클래스 이름을 가져오겠습니다.

let classNameOfTheObject = miniCarConstructorRef.name;

마지막으로 classNameOfTheObject 변수 값을 콘솔에 기록합니다.

console.log(classNameOfTheObject);

출력:

Vehicle

이것은 객체가 속한 클래스를 확인하기 위해 권장되는 방법입니다.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

관련 문장 - TypeScript Class