


Explication détaillée d'exemples d'objets Class pour démarrer avec ECMAScript6
Cet article présente principalement l'introduction détaillée d'ECMAScript6 - Class object L'éditeur pense que c'est assez bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
Un signe des langages orientés objet est qu'ils ont tous le concept de classes, à travers lequel un nombre illimité d'objets avec les mêmes propriétés et méthodes peuvent être créés.
Il n'y a pas de concept de classe dans ECMAScript5, donc ses objets sont différents de ceux des langages basés sur les classes.
La manière traditionnelle de générer des objets en Javascript consiste à utiliser des constructeurs.
function Person(name, age){ this.name = name; this.age = age; this.sayHello = function(){ return "Hello "+ this.name; } } var person = new Person("dahan",18); person.sayHello(); //Hello dahan
Étant donné que la méthode ci-dessus est la même que la forme de déclaration des méthodes en Javascript, la distinction entre les objets et les méthodes n'est pas la même chose. Évidemment, il est facile de se tromper.
ES6 introduit le concept de Class
(classe). Lorsque nous créons des objets via la syntaxe ES6, nous pouvons utiliser le mot-clé class
pour définir des classes tout comme la syntaxe Java. Bien entendu, les fonctions de cette syntaxe peuvent également être réalisées via ES5. Cela rend simplement la définition des classes plus claire et plus facile à comprendre.
//类的定义 class Person { //ES6中新型构造器 constructor(name) { this.name = name; } //实例方法 sayName() { console.log("我的名字叫"+ this.name); } } //类的继承 class Programmer extends Person { constructor(name) { //直接调用父类构造器进行初始化 super(name); } program() { cosnole.log("这是我的地盘"); } } //运行测试 var person = new Person('lingxiao'); var coder = new Programmer('coder'); person.sayName(); //我的名字叫lingxiao coder.sayName(); //我的名字叫coder coder.program(); //这是我的地盘
Faisons maintenant attention à la syntaxe qui apparaît dans le code ci-dessus.
constructeur
constructor
est la méthode par défaut d'une classe, tout comme la méthode principale en Java, chaque classe doit avoir une méthode constructor
. Lorsque
instancie un objet via new
, il appellera automatiquement la méthode constructor
et la valeur renvoyée est la valeur renvoyée par constructor
. constructor
Par défaut, l'objet instance de la classe actuelle est renvoyé (this)
, mais nous pouvons également spécifier un autre objet Bien sûr, cela fera que l'objet instancié ne sera pas une instance de la classe actuelle.
class Person { constructor(){ var ob = new Object(); return Ob; } sayHello(){ return "Hello World" } } var person = new Person(); person.sayHello(); //Uncaught TypeError: person.sayHello is not a function
Quand on instancie un objet, ES6 stipule que j'utilise le mot-clé new S'il est appelé directement, il sera appelé en fonction.
class Person { constructor(name){ this.name = name; } }; var person = Person("dahan"); //Uncaught TypeError: Class constructor Person4 cannot be invoked without 'new'
this
Dans le premier code, on voit ceci, this dans la classe pointe vers l'instance elle-même, mais si nous This est utilisé dans la méthode . Lorsque cette méthode est appelée seule, une erreur se produit.
class Person{ constructor(name){ this.name = name; } sayHello() { return "Hello "+this.name } } var person = new Person("dahan"); var sayHello = person.sayHello; sayHello(); //Uncaught TypeError: Cannot read property 'name' of undefined
Pour cela, nous pouvons simplement lier dans le constructeur this
class Person{ constructor(name){ this.name = name; this.sayHello = this.sayHello.call(this); } sayHello() { return "Hello "+this.name } }
Hériter l'extension
Nous voulons Si vous le souhaitez étendre certains attributs sur une classe sans modifier la classe d'origine, vous utilisez l'héritage.
//类的继承 class Programmer extends Person { constructor(name,age) { this.age = age;//报错 //直接调用父类构造器进行初始化 super(name); } program() { cosnole.log("这是我的地盘"); } }
Lorsque vous utilisez l'héritage, vous devez utiliser le mot-clé super
pour appeler la classe parent super(name)
appelez simplement la méthode constructor
de la classe parent.
De plus, lorsque nous utilisons l'héritage, le mot-clé super
nous aide également à changer le pointeur de this
, nous devons donc d'abord appeler la méthode super
avant de pouvoir utiliser this
. ES6 exige que le constructeur d'une sous-classe exécute la fonction super
une fois, sinon une erreur sera signalée.
Enfin, l'émergence du mot-clé
class
fait également ressembler Javascript davantage à un langage orienté objet. J'espère que Javascript deviendra meilleur et plus facile à utiliser. .
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





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)

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.

Class est un mot-clé en python, utilisé pour définir une classe. La méthode de définition d'une classe : ajoutez un espace après la classe puis ajoutez le nom de la classe ; règles de nom de classe : mettez la première lettre en majuscule, utilisez la casse camel. nommage, tel que [class Dog()].

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.

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 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.

Contexte Récemment, les codes commerciaux clés ont été cryptés pour le cadre de l'entreprise afin d'empêcher la restauration facile du code d'ingénierie via des outils de décompilation tels que jd-gui. La configuration et l'utilisation du schéma d'obscurcissement associé sont relativement complexes et posent de nombreux problèmes. projet springboot, donc les fichiers de classe sont chiffrés puis transmis. Le classloder personnalisé est déchiffré et chargé. Cette solution n'est pas absolument sûre. Elle ne fait qu'augmenter la difficulté de la décompilation. Elle empêche les messieurs mais pas les méchants. dans la figure ci-dessous. Le plug-in maven chiffre la compilation à l'aide d'un plug-in maven personnalisé. Le fichier de classe spécifié est chiffré et le fichier de classe chiffré est copié ici dans le chemin spécifié.
![Comment résoudre l'erreur '[Vue warn]: v-bind:class/ :class'](https://img.php.cn/upload/article/000/465/014/169300902772563.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Comment résoudre l'erreur « [Vuewarn]:v-bind:class/:class » Au cours du processus de développement de l'utilisation de Vue, nous rencontrons souvent des invites d'erreur. L'une des erreurs courantes est « [Vuewarn]:v-bind:class. Erreur "/:classe". Ce message d'erreur apparaît généralement lorsque nous utilisons l'attribut v-bind:class ou :class, indiquant que Vue ne peut pas analyser correctement la valeur de classe que nous avons définie. Alors, si
