JavaScript 클래스는 프로토타입 상속 시스템에 대한 구문적 설탕입니다. ES6에 도입된 클래스는 객체를 정의하고 JavaScript에서 상속을 사용하여 코드를 더 읽기 쉽고 체계적으로 만드는 명확하고 구조화된 방법을 제공합니다.
class 키워드를 사용하여 클래스를 정의할 수 있습니다.
예:
class Person { constructor(name, age) { this.name = name; this.age = age; } greet() { console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`); } } const person1 = new Person("Alice", 25); person1.greet(); // Hello, my name is Alice and I am 25 years old.
예:
class Car { constructor(brand) { this.brand = brand; } } const myCar = new Car("Toyota"); console.log(myCar.brand); // Toyota
예:
class Animal { sound() { console.log("Animal makes a sound"); } } const dog = new Animal(); dog.sound(); // Animal makes a sound
예:
class MathUtils { static add(a, b) { return a + b; } } console.log(MathUtils.add(3, 5)); // 8
예:
class Rectangle { constructor(width, height) { this.width = width; this.height = height; } get area() { return this.width * this.height; } } const rect = new Rectangle(10, 5); console.log(rect.area); // 50
상속을 통해 클래스는 확장 키워드를 사용하여 다른 클래스에서 속성과 메서드를 얻을 수 있습니다.
예:
class Animal { constructor(name) { this.name = name; } speak() { console.log(`${this.name} makes a sound.`); } } class Dog extends Animal { speak() { console.log(`${this.name} barks.`); } } const dog = new Dog("Rex"); dog.speak(); // Rex barks.
ES2022에 도입된 전용 필드와 메소드는 #으로 시작하며 클래스 외부에서 접근할 수 없습니다.
예:
class BankAccount { #balance; constructor(initialBalance) { this.#balance = initialBalance; } deposit(amount) { this.#balance += amount; console.log(`Deposited: ${amount}`); } getBalance() { return this.#balance; } } const account = new BankAccount(100); account.deposit(50); // Deposited: 50 console.log(account.getBalance()); // 150 // console.log(account.#balance); // Error: Private field '#balance' must be declared in an enclosing class
클래스를 표현식으로 정의하고 변수에 할당할 수도 있습니다.
예:
const Rectangle = class { constructor(width, height) { this.width = width; this.height = height; } getArea() { return this.width * this.height; } }; const rect = new Rectangle(10, 5); console.log(rect.getArea()); // 50
클래스는 구문 설탕이지만 JavaScript의 프로토타입 기반 상속과 결합할 수 있습니다.
예:
class Person {} Person.prototype.sayHello = function () { console.log("Hello!"); }; const person = new Person(); person.sayHello(); // Hello!
캡슐화:
비공개 필드를 사용하여 민감한 데이터를 보호하세요.
재사용성:
상속을 활용하여 여러 클래스에서 코드를 재사용합니다.
과도한 복잡함 방지:
필요한 경우에만 클래스를 사용하십시오. 작은 작업에는 간단한 개체나 기능으로 충분할 수 있습니다.
일관성:
가독성을 위해 메서드 및 속성에 대한 명명 규칙을 따르세요.
JavaScript 클래스는 JavaScript에서 객체 지향 프로그래밍을 관리하는 깔끔하고 효율적인 방법을 제공합니다. 상속, 정적 메서드, 비공개 필드, 캡슐화 등의 기능을 통해 코드를 구조화하고 관리하는 강력한 도구를 제공하므로 확장 가능하고 유지 관리 가능한 애플리케이션을 더 쉽게 구축할 수 있습니다.
안녕하세요. 저는 Abhay Singh Kathayat입니다!
저는 프론트엔드와 백엔드 기술 모두에 대한 전문 지식을 갖춘 풀스택 개발자입니다. 저는 효율적이고 확장 가능하며 사용자 친화적인 애플리케이션을 구축하기 위해 다양한 프로그래밍 언어와 프레임워크를 사용하여 작업합니다.
제 비즈니스 이메일(kaashshorts28@gmail.com)로 언제든지 연락주세요.
위 내용은 JavaScript 클래스 마스터하기: 최신 OOP에 대한 완벽한 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!