Maison interface Web Questions et réponses frontales Comment ES6 définit-il les classes ?

Comment ES6 définit-il les classes ?

Mar 09, 2022 pm 06:52 PM
class es6

Dans ES6, la classe (class) a été introduite comme modèle pour les objets, et les classes peuvent être définies via le mot-clé "class". L'essence de la classe est la fonction, qui peut être considérée comme du sucre syntaxique, rendant l'écriture de prototypes d'objets plus claire et plus proche de la syntaxe de la programmation orientée objet.

Comment ES6 définit-il les classes ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.

Classe ES6

Dans ES6, la classe (class) a été introduite comme modèle pour les objets, et les classes peuvent être définies via le mot-clé "class".

L'essence de la classe est la fonction.

Fondamentalement, la classe ES6 peut être considérée comme un simple sucre de syntaxe. La plupart de ses fonctions peuvent être réalisées par ES5. La nouvelle méthode d'écriture de classe rend simplement la méthode d'écriture du prototype d'objet plus claire et ressemble davantage à la syntaxe de la programmation orientée objet. .

Utilisation de base

Définition de classe

Les expressions de classe peuvent être anonymes ou nommées.

// 匿名类
let Example = class {
    constructor(a) {
        this.a = a;
    }
}
// 命名类
let Example = class Example {
    constructor(a) {
        this.a = a;
    }
}
Copier après la connexion

Déclaration de classe

class Example {
    constructor(a) {
        this.a = a;
    }
}
Copier après la connexion

Points à noter : les déclarations répétables ne sont pas autorisées.

class Example{}
class Example{}
// Uncaught SyntaxError: Identifier 'Example' has already been 
// declared
 
let Example1 = class{}
class Example{}
// Uncaught SyntaxError: Identifier 'Example' has already been 
// declared
Copier après la connexion

Points à noter :

Les définitions de classe ne seront pas promues, ce qui signifie que la classe doit être définie avant d'y accéder, sinon une erreur sera signalée.

Les méthodes de la classe ne nécessitent pas le mot-clé function.

Pas de point-virgule entre les méthodes.

new Example(); 
class Example {}
Copier après la connexion

Le corps de la classe

Propriétés

prototype

Dans ES6, le prototype existe toujours Bien que les méthodes puissent être définies directement à partir de la classe, les méthodes sont en fait toujours définies sur le prototype. Remplacer la méthode/Ajouter une méthode lors de l'initialisation

Example.prototype={
    //methods
}
Copier après la connexion

Ajouter une méthode

Object.assign(Example.prototype,{
    //methods
})
Copier après la connexion

Propriété statique

Propriété statique : la propriété de la classe elle-même, c'est-à-dire la propriété (Class.propname) définie directement à l'intérieur de la classe, n'a pas besoin d'être instancié. ES6 stipule qu'il n'y a que des méthodes statiques à l'intérieur de Class et aucun attribut statique.

class Example {
// 新提案
    static a = 2;
}
// 目前可行写法
Example.b = 2;
Copier après la connexion

Propriétés publiques

class Example{}
Example.prototype.a = 2;
Copier après la connexion

Propriétés d'instance

Propriétés d'instance : Propriétés définies sur l'objet d'instance (this).

class Example {
    a = 2;
    constructor () {
        console.log(this.a);
    }
}
Copier après la connexion

attribut name

renvoie le nom de la classe qui suit la classe (quand elle existe).

let Example=class Exam {
    constructor(a) {
        this.a = a;
    }
}
console.log(Example.name); // Exam
 
let Example=class {
    constructor(a) {
        this.a = a;
    }
}
console.log(Example.name); // Example
Copier après la connexion

method

constructor method

constructor est la méthode par défaut de la classe et est appelée lors de la création d'un objet instancié de la classe.

class Example{
    constructor(){
      console.log('我是constructor');
    }
}
new Example(); // 我是constructor
Copier après la connexion

Objet de retour

class Test {
    constructor(){
        // 默认返回实例对象 this
    }
}
console.log(new Test() instanceof Test); // true
 
class Example {
    constructor(){
        // 指定返回对象
        return new Test();
    }
}
console.log(new Example() instanceof Example); // false
Copier après la connexion

Méthode statique

class Example{
    static sum(a, b) {
        console.log(a+b);
    }
}
Example.sum(1, 2); // 3
Copier après la connexion

Méthode prototype

class Example {
    sum(a, b) {
        console.log(a + b);
    }
}
let exam = new Example();
exam.sum(1, 2); // 3
Copier après la connexion

Méthode d'instance

class Example {
    constructor() {
        this.sum = (a, b) => {
            console.log(a + b);
        }
    }
}
Copier après la connexion

Instanciation de classe

new

class doit être instancié via le nouveau mot-clé.

class Example {}
 
let exam1 = Example(); 
// Class constructor Example cannot be invoked without 'new'
Copier après la connexion

Objets instanciés

Objets prototypes partagés

class Example {
    constructor(a, b) {
        this.a = a;
        this.b = b;
        console.log('Example');
    }
    sum() {
        return this.a + this.b;
    }
}
let exam1 = new Example(2, 1);
let exam2 = new Example(3, 1);
 
// __proto__ 已废弃,不建议使用
// console.log(exam1.__proto__ == exam2.__proto__); 
 
console.log(Object.getPrototypeOf(exam1) === Object.getPrototypeOf(exam2));// true
 
Object.getPrototypeOf(exam1).sub = function() {
    return this.a - this.b;
}
console.log(exam1.sub()); // 1
console.log(exam2.sub()); // 2
Copier après la connexion

[Recommandations associées : tutoriel vidéo javascript, front-end web]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser les classes et les méthodes en Python Comment utiliser les classes et les méthodes en Python Apr 21, 2023 pm 02:28 PM

Concepts et instances de classes et méthodes Classe (Class) : utilisé pour décrire une collection d'objets avec les mêmes propriétés et méthodes. Il définit les propriétés et méthodes communes à chaque objet de la collection. Les objets sont des instances de classes. Méthode : Fonction définie dans la classe. Méthode de construction de classe __init__() : La classe possède une méthode spéciale (méthode de construction) nommée init(), qui est automatiquement appelée lorsque la classe est instanciée. Variables d'instance : dans la déclaration d'une classe, les attributs sont représentés par des variables. Ces variables sont appelées variables d'instance. Une variable d'instance est une variable modifiée avec self. Instanciation : Créez une instance d'une classe, un objet spécifique de la classe. Héritage : c'est-à-dire qu'une classe dérivée (derivedclass) hérite de la classe de base (baseclass)

Conventions de dénomination en PHP : Comment utiliser la dénomination en casse chameau pour les classes, les méthodes et les variables Conventions de dénomination en PHP : Comment utiliser la dénomination en casse chameau pour les classes, les méthodes et les variables Jul 30, 2023 pm 02:43 PM

Conventions de dénomination en PHP : Comment utiliser la notation camelCase pour nommer des classes, des méthodes et des variables En programmation PHP, de bonnes conventions de dénomination sont une pratique de codage importante. Il améliore la lisibilité et la maintenabilité du code et rend le travail d'équipe plus fluide. Dans cet article, nous explorerons une convention de dénomination courante : camelCase et fournirons quelques exemples de la façon de l'utiliser en PHP pour nommer des classes, des méthodes et des variables. 1. Qu'est-ce que la nomenclature des cas de chameaux ? CamelCase est une convention de dénomination courante dans laquelle la première lettre de chaque mot est en majuscule,

Remplacer le nom de classe d'un élément à l'aide de jQuery Remplacer le nom de classe d'un élément à l'aide de jQuery Feb 24, 2024 pm 11:03 PM

jQuery est une bibliothèque JavaScript classique largement utilisée dans le développement Web. Elle simplifie les opérations telles que la gestion des événements, la manipulation des éléments DOM et l'exécution d'animations sur les pages Web. Lorsque vous utilisez jQuery, vous rencontrez souvent des situations dans lesquelles vous devez remplacer le nom de classe d'un élément. Cet article présentera quelques méthodes pratiques et des exemples de code spécifiques. 1. Utilisez les méthodes RemoveClass() et AddClass(). JQuery fournit la méthode RemoveClass() pour la suppression.

Erreur PHP : Impossible de déclarer la classe à plusieurs reprises, solution ! Erreur PHP : Impossible de déclarer la classe à plusieurs reprises, solution ! Aug 25, 2023 pm 04:13 PM

Erreur PHP : Impossible de déclarer la classe à plusieurs reprises, solution ! Il est courant que les développeurs rencontrent des problèmes. Dans le développement PHP, nous rencontrons souvent une erreur courante : la classe ne peut pas être déclarée à plusieurs reprises. Ce problème semble simple, mais s’il n’est pas résolu à temps, le code ne s’exécutera pas correctement. Cet article présentera la cause de ce problème et fournira une solution pour votre référence. Lorsque nous définissons une classe dans du code PHP, si la même classe est définie plusieurs fois dans le même fichier ou dans plusieurs fichiers, une erreur indiquant que la classe ne peut pas être déclarée à plusieurs reprises se produira. C'est

Explication détaillée de l'utilisation de la classe PHP : rendez votre code plus clair et plus facile à lire Explication détaillée de l'utilisation de la classe PHP : rendez votre code plus clair et plus facile à lire Mar 10, 2024 pm 12:03 PM

Lors de l’écriture de code PHP, l’utilisation de classes est une pratique très courante. En utilisant des classes, nous pouvons encapsuler les fonctions et les données associées dans une seule unité, rendant le code plus clair, plus facile à lire et à maintenir. Cet article présentera en détail l'utilisation de PHPClass et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre comment appliquer des classes pour optimiser le code dans des projets réels. 1. Créer et utiliser des classes En PHP, vous pouvez utiliser le mot-clé class pour définir une classe et définir les propriétés et méthodes de la classe.

Technologie d'emballage et application en PHP Technologie d'emballage et application en PHP Oct 12, 2023 pm 01:43 PM

La technologie d'encapsulation et l'encapsulation d'applications en PHP sont un concept important dans la programmation orientée objet. Elle fait référence à l'encapsulation de données et d'opérations sur les données afin de fournir une interface d'accès unifiée aux programmes externes. En PHP, l'encapsulation peut être réalisée via des modificateurs de contrôle d'accès et des définitions de classe. Cet article présentera la technologie d'encapsulation dans PHP et ses scénarios d'application, et fournira quelques exemples de code spécifiques. 1. Modificateurs de contrôle d'accès encapsulés En PHP, l'encapsulation est principalement réalisée via des modificateurs de contrôle d'accès. PHP fournit trois modificateurs de contrôle d'accès,

Erreur Vue : impossible d'utiliser v-bind pour lier correctement la classe et le style, comment le résoudre ? Erreur Vue : impossible d'utiliser v-bind pour lier correctement la classe et le style, comment le résoudre ? Aug 26, 2023 pm 10:58 PM

Erreur Vue : impossible d'utiliser v-bind pour lier correctement la classe et le style, comment le résoudre ? Dans le développement de Vue, nous utilisons souvent la directive v-bind pour lier dynamiquement la classe et le style, mais nous pouvons parfois rencontrer des problèmes, comme l'incapacité d'utiliser correctement v-bind pour lier la classe et le style. Dans cet article, je vais vous expliquer la cause de ce problème et vous proposer une solution. Tout d’abord, comprenons la directive v-bind. v-bind est utilisé pour lier V

Comment déterminer si un élément a une classe en jquery Comment déterminer si un élément a une classe en jquery Mar 21, 2023 am 10:47 AM

Comment jquery détermine si un élément a une classe : 1. Déterminez si un élément a une certaine classe via la méthode "hasClass('classname')" 2. Déterminez si un élément a une certaine classe via la méthode "is('.classname) ; ')" méthode.

See all articles