ES6 – Questions pratiques

Table des matières

Un : Questions à réponse courte

1 : Qu'est-ce que le symbole et à quoi sert-il ?

2 : Que sont Set et Map ? quel est l'effet ?

3 : Qu’est-ce que l’itérateur ?

4 : Quelle est la différence entre pour...dans et pour...de ?

5 : Que sont le module, l’export et l’import, et quelles sont leurs fonctions ?

6 : Est-ce que Promise est synchrone ou asynchrone, décrivez brièvement le mécanisme d'exécution ?

7 : Quel est le résultat de sortie du code suivant ?

8 : Quel est le résultat de sortie dans la figure ci-dessous ?

9 : A quoi sert le super en classe ?

10 : Qu'est-ce qu'une copie superficielle et qu'est-ce qu'une copie profonde ?

Deux : questions opérationnelles

1 : une fonction qui encapsule un objet Promise, combinée avec setTimeout pour simuler un mode asynchrone, si le nombre pair transmis est renvoyé (après 3 s), le nombre transmis est correct, et si le nombre impair ou d'autres classes sont transmis, le nombre impair ou d'autres classes sont transmis, le nombre transmis par erreur sera restitué.

2 : Il existe un ensemble de scores des étudiants dans le format suivant, filtrez les étudiants qui réussissent et calculez la somme des scores des étudiants qui réussissent. (Les tableaux peuvent être écrits dans ce format sans copie)


Un : Questions à réponse courte

1 : Qu'est-ce que le symbole et à quoi sert-il ?

Réponse : Le symbole est un type de données similaire à une chaîne.

Rôle : éviter les conflits de noms d'attributs d'objet

           Simuler des propriétés privées

           Définir des constantes non répétitives

2 : Que sont Set et Map ? quel est l'effet ?

Réponse : Set : similaire à un tableau, mais les valeurs des membres sont uniques et il n'y a pas de valeurs en double.

Carte : objet JavaScript (Object), qui est essentiellement une collection de paires clé-valeur (structure de hachage), mais traditionnellement, seules les chaînes peuvent être utilisées comme clés. Cela amène de grandes restrictions à son utilisation : les clés de la carte ne se limitent pas à des chaînes, et les objets peuvent également être appelés clés.

Fonction : utilisé pour la réorganisation et le stockage des données.

3 : Qu’est-ce que l’itérateur ?

Réponse : Iterator est un itérateur. Il s'agit d'une interface qui fournit un mécanisme d'accès unifié à diverses structures de données. N'importe quelle structure de données peut terminer l'opération de parcours tant que l'interface de l'itérateur est déployée. ES6 ajoute une nouvelle méthode de parcours pour...of.

Les données avec l'interface d'itérateur native comprennent : Array, Arguments, Set, Map, String, NodeList.

4 : Quelle est la différence entre pour...dans et pour...de ?

Réponse : for in traverse l'index (traversant des types énumérables)

for of traverse la valeur du tableau (l'itérable traversable a une interface itérateur)

5 : Que sont le module, l’export et l’import, et quelles sont leurs fonctions ?

Réponse : le module doit utiliser l’importation ES6 dans js. <script type="module"></script>, le type de script est défini comme module.

export spécifie le code exporté. La commande d'exportation peut apparaître n'importe où dans le module, mais doit être au niveau supérieur du module.

importer les fonctions du module d'importation. import importe uniquement une référence en lecture seule et attend que le script soit exécuté selon la référence pour accéder au module et obtenir la valeur. C'est pourquoi l'import peut être chargé à la demande.

6 : Est-ce que Promise est synchrone ou asynchrone, décrivez brièvement le mécanisme d'exécution ?

Réponse : Le constructeur de promesse est exécuté de manière synchrone et la méthode then est exécutée de manière asynchrone.

then() est une méthode d'instance de Promise.Une fois l'état de Promise modifié,then() peut obtenir la valeur du succès ou de l'échec et la décrire.

7 : Quel est le résultat de sortie du code suivant ?

Le résultat est : 1243.

8 : Quel est le résultat de sortie dans la figure ci-dessous ?

La sortie est 2.

9 : A quoi sert le super en classe ?

Réponse : ES6 stipule que les sous-classes doivent appeler super() dans la méthode constructor(), sinon une erreur sera signalée. La super méthode est utilisée pour créer la classe parent de cet objet.

10 : Qu'est-ce qu'une copie superficielle et qu'est-ce qu'une copie profonde ?

Réponse : Copie superficielle : copiez l'adresse de la pile, les modifications des types de données simples ne s'affectent pas, mais l'adresse du tas du type de données de référence est la même et les modifications s'affecteront mutuellement ;

Copie profonde : copiez non seulement l'adresse de la pile, mais copiez également l'adresse du tas, le changement du type de données de base et du type de données de référence n'a aucun effet sur les données d'origine.

Deux : questions opérationnelles

1 : une fonction qui encapsule un objet Promise, combinée avec setTimeout pour simuler un mode asynchrone, si le nombre pair transmis est renvoyé (après 3 s), le nombre transmis est correct, et si le nombre impair ou d'autres classes sont transmis, le nombre impair ou d'autres classes sont transmis, le nombre transmis par erreur sera restitué.

        let num = prompt('输入一个数字:');
        const MyPormise = new Promise((resolve, reject) => {
            setTimeout(() => {
                if (num % 2 == 0) {
                    resolve('传入正确');
                } else {
                    reject('传入错误');
                }
            }, 3000)
        });
        MyPormise.then(
            resolve => console.log(resolve),
            reject => console.log(reject)
        )

2 : Il existe un ensemble de scores des étudiants dans le format suivant, filtrez les étudiants qui réussissent et calculez la somme des scores des étudiants qui réussissent. (Les tableaux peuvent être écrits dans ce format sans copie)

const personnes = [

   {vrai nom : 'Zhang San 1', score : 60},

   {vrai nom : 'Zhang San 2', score : 20},

   {vrai nom : 'Zhang San 3', score : 90},

......

]

 <ul id="scores"></ul>
    <hr>
    <input type="button" value="查找及格的学生" id="search" />
    <p>及格学生如下:</p>
    <ul id="pass"></ul>

    <script>
        let sScore = document.querySelector('#scores');
        let search = document.querySelector('#search');
        let pass = document.querySelector('#pass');
        const scores = [
            { realname: "张三", score: 40 },
            { realname: "李四", score: 60 },
            { realname: "王五", score: 90 },
            { realname: "赵六", score: 50 },
        ];

        let str = "";
        for (var i = 0; i < scores.length; i++) {
            str = str + `<li>姓名:${scores[i].realname},分数:${scores[i].score}</li>`;
        }
        sScore.innerHTML = str;

        search.addEventListener('click', function () {
            let newArr = scores.filter(item => {
                return item.score >= 60;
            })

            let str = '';
            newArr.forEach(item => {
                const { realname, score } = item;
                str = str + `<li>姓名:${realname}  分数:${score}</li>`;
            })
            pass.innerHTML = str;
            console.log("及格学生分数总和为"+newArr.reduce((sum, item) => sum + item.score, 0));
        })
       
    </script>

Je suppose que tu aimes

Origine blog.csdn.net/m0_46461853/article/details/125929387
conseillé
Classement