La classe est-elle es5 ou es6 ?
class est une nouvelle fonctionnalité d'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 ; la nouvelle méthode d'écriture de classe rend l'écriture de prototypes d'objets plus claire, plus proche de la syntaxe de la programmation orientée objet, et plus encore. compréhensible. La classe est une nouvelle structure syntaxique de base dans ECMAScript. Bien que les classes ES6 semblent prendre en charge la programmation formelle orientée objet, en fait, elles utilisent toujours les concepts de prototypes et de constructeurs derrière elles, permettant aux prototypes d'objets d'écrire plus clairement,
L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.
class est une nouvelle fonctionnalité d'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.
ES6 fournit une méthode d'écriture plus proche des langages traditionnels. Le mot-clé class nouvellement introduit a la capacité de définir formellement des classes. La classe est une nouvelle structure de sucre de syntaxe de base dans ECMAScript. Bien que les classes ECMAScript 6 semblent prendre en charge la programmation formelle orientée objet, elles utilisent en fait toujours les concepts de prototypes et de constructeurs qui les sous-tendent, ce qui permet aux prototypes d'objets d'écrire plus clairement. la syntaxe de la programmation orientée objet.
1. Introduction aux classes
Le JS traditionnel n'a que le concept d'objets, pas de classes, car JS est un langage orienté objet basé sur des prototypes, et la caractéristique des objets prototypes est de partager tous les attributs avec de nouveaux objets .
ES6 introduit le concept de classe. Les classes peuvent être définies via le mot-clé class. Il s'agit d'un langage orienté objet qui correspond davantage à ce que nous comprenons habituellement.
class Person{ //定义一个名为Person的类 // 构造函数,用来接受参数 constructor(x,y){ this.x = x; //this代表的是实例对象 this.y = y; } todoSome(){ //这是个类的方法,不需要加function,有多个方法也不用逗号隔开 alert(this.x + "的年龄是" +this.y+"岁"); } } export default Person;
2. Méthodes statiques et propriétés statiques
Les méthodes statiques et les propriétés statiques sont des propriétés et des méthodes qui utilisent le mot-clé statique
2.1 Méthodes statiques
static classMethod(){ console.log('123456') }
- Les méthodes statiques ne seront pas sous-classées Héritage , les sous-classes ne peuvent pas appeler
- this dans les méthodes statiques, qui pointent vers la classe, pas vers une instance de la classe. Par conséquent, les méthodes statiques ne peuvent être appelées que via des noms de classe, et non via des instances. via le nom de la classe, pas via l'instance de la classe
la classe peut être héritée à l'aide du mot-clé extends
Héritage ES6, super() doit être utilisé dans le constructeur de sous-classe. Parce que l'héritage ES6 y ajoute d'abord les attributs et les méthodes de l'objet d'instance de classe parent, puis appelle le constructeur de la sous-classe pour le modifier. Si la sous-classe ne définit pas de méthode constructeur, super() l'ajoutera par défaut. la sous-classe héritera des méthodes et des attributs de la classe parent, mais les méthodes et attributs statiques doivent être appelés via le nom de classe de la sous-classelet p = new Point(); p.classMethod(); // 报错
Copier après la connexion- 4. Le getter de fonction de valeur et le setter de fonction de stockage de la classe
. getter et setter sont utilisés pour lire et transmettre des valeurs aux attributs de classe. Le getter de la fonction de valeur et le setter de la fonction de stockage peuvent personnaliser l'affectation et le comportement de la valeur. Lorsqu'une propriété n'a qu'un getter et aucun setter, la propriété est une propriété en lecture seule et ne peut pas se voir attribuer de valeur, ni être initialisée. pour la première fois.
- Si la variable est définie comme privée (définie en dehors des accolades de la classe), vous ne pouvez utiliser que des getters sans setters.
static prop = 1 ; // 静态属性
Copier après la connexion- Comment utiliser :
import classtest from "./classtest"; //先引入父类 class Man extends classtest{ constructor(x,y){ //构造函数尽量与父类参数保持一致 super(); //利用super()关键字,这个必须放在子类构造函数中的第一位置 this.x = x; this.y = y; } } export default Man;
Copier après la connexion- 5. Notes :
1. Lors de la définition d'une méthode dans une classe, vous ne pouvez pas ajouter le mot-clé function à la méthode, car le constructeur en JS est défini avec function. Deux séparés. 2. Ne séparez pas toutes les méthodes par des virgules, sinon une erreur sera signalée.
【Apprentissage recommandé :
Tutoriel avancé javascript】
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

AI Hentai Generator
Générez AI Hentai gratuitement.

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)

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)

async est es7. async et wait sont de nouveaux ajouts à ES7 et sont des solutions pour les opérations asynchrones ; async/await peut être considéré comme un sucre syntaxique pour les modules co et les fonctions de générateur, résolvant le code asynchrone js avec une sémantique plus claire. Comme son nom l'indique, async signifie « asynchrone ». Async est utilisé pour déclarer qu'une fonction est asynchrone ; il existe une règle stricte entre async et wait. Les deux sont inséparables l'un de l'autre et wait ne peut être écrit que dans des fonctions asynchrones.

Étapes : 1. Convertissez respectivement les deux tableaux en types d'ensemble, avec la syntaxe "newA=new Set(a); newB=new Set(b);" 2. Utilisez has() et filter() pour trouver l'ensemble de différences. , avec la syntaxe " new Set([...newA].filter(x =>!newB.has(x)))", les éléments de l'ensemble de différences seront inclus dans une collection d'ensembles et renvoyés 3. Utilisez Array. from pour convertir l'ensemble en tableau Tapez, syntaxe "Array.from(collection)".

Pour la compatibilité du navigateur. En tant que nouvelle spécification pour JS, ES6 ajoute de nombreuses nouvelles syntaxes et API. Cependant, les navigateurs modernes ne prennent pas en charge les nouvelles fonctionnalités d'ES6, le code ES6 doit donc être converti en code ES5. Dans les outils de développement Web WeChat, babel est utilisé par défaut pour convertir le code de syntaxe ES6 du développeur en code ES5 bien pris en charge par les trois terminaux, aidant les développeurs à résoudre les problèmes de développement causés par différents environnements uniquement dans le projet. Il suffit de configurer et de vérifier le ; Option "ES6 à ES5".

Dans es5, vous pouvez utiliser l'instruction for et la fonction indexOf() pour réaliser la déduplication de tableau. La syntaxe "for(i=0;i<array length;i++){a=newArr.indexOf(arr[i]);if( a== -1){...}}". Dans es6, vous pouvez utiliser l'opérateur spread, Array.from() et Set pour supprimer la duplication ; vous devez d'abord convertir le tableau en un objet Set pour supprimer la duplication, puis utiliser l'opérateur spread ou la fonction Array.from(). pour reconvertir l'objet Set en un groupe Just.

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.

Dans es6, la zone morte temporaire est une erreur de syntaxe, qui fait référence aux commandes let et const qui font que le bloc forme une portée fermée. Dans un bloc de code, avant qu'une variable ne soit déclarée à l'aide de la commande let/const, la variable est indisponible et appartient à la « zone morte » de la variable avant que la variable ne soit déclarée ; c'est ce qu'on appelle syntaxiquement une « zone morte temporaire ». ES6 stipule que la promotion des variables ne se produit pas dans les zones mortes temporaires et dans les instructions let et const, principalement pour réduire les erreurs d'exécution et empêcher l'utilisation de la variable avant qu'elle ne soit déclarée, ce qui peut entraîner un comportement inattendu.

La carte est ordonnée. Le type de carte dans ES6 est une liste ordonnée qui stocke de nombreuses paires clé-valeur. Les noms de clés et les valeurs correspondantes prennent en charge tous les types de données ; l'équivalence des noms de clés est jugée en appelant la méthode "Objext.is()". , donc le chiffre 5 et la chaîne "5" seront jugés comme deux types et pourront apparaître dans le programme comme deux clés indépendantes.
