Bienvenue dans la troisième et dernière partie de cette série, où nous explorerons la retraite de l'ancien IE et l'impact de cet incident sur le champ de développement frontal. Jusqu'à présent, nous avons traité des technologies obsolètes qui peuvent être rejetées en toute sécurité, ainsi que des propriétés HTML5 et CSS3 qui sont désormais pleinement soutenues nativement dans les navigateurs grand public. Aujourd'hui, nous nous concentrerons sur la technologie JavaScript native et d'autres contenus qui ne figurent pas dans les catégories ci-dessus. Merci encore à Caniuse.com, c'est une ressource très précieuse. Je vais également réitérer le dernier avertissement:
Cet article n'a rien à voir avec l'opportunité de renoncer à la décision de soutenir
vieil IE. Vous devez prendre vos propres décisions en fonction des détails spécifiques de votre site Web ou de votre application.
sans plus tarder, continuons!
points clés
const
let
Sécurité et confidentialité d'abord: API de cryptographie Web et la politique de sécurité du contenu (CSP) sont désormais entièrement prises en charge, fournissant un outil puissant pour améliorer la sécurité des applications Web. Base64 est un outil très utile sur le Web. Beaucoup d'entre vous l'ont peut-être utilisé pour intégrer des polices ou des images dans CSS. Une autre utilisation courante consiste à faire face à diverses ressources qui interfèrent généralement avec le protocole de transmission. Un bon exemple est l'authentification d'accès de base, où la paire de nom d'utilisateur: mot de passe est emballée à l'aide de la base64, puis envoyée au serveur. La prise en charge native pour les opérations de codage / décodage signifie qu'elles peuvent être exécutées plus rapidement. Voici quelques ressources d'introduction:
Un grand objet ou un blob binaire est une collection de données brutes stockées dans une seule entité dans un système de gestion de base de données. Il peut s'agir d'un clip audio ou d'une image et est stocké au format Base64. Ou un ensemble d'images. Dans de nombreux cas, les champs blob sont utilisés pour les données dont les structures de données ne sont pas aussi strictes que les tableaux normaux ou les schémas de table tels que les objets JSON. Certains d'entre vous se souviennent peut-être de l'ancêtre de l'interface blob, à savoir blobbuilder. Cependant, cette approche a été obsolète et il est fortement recommandé que toutes les opérations BLOB soient effectuées via la nouvelle interface.
Plus important encore, puisque cette collection est très similaire à un fichier, l'interface native de l'objet Blob a été utilisée comme base de l'interface fichier (). Il existe donc une belle fonctionnalité appelée "URL blob" qui permet aux développeurs de créer des URL pour les objets blob qui peuvent être utilisés n'importe où peut être utilisé. Dans cet esprit, le support natif couvre désormais tous les navigateurs traditionnels, ce qui est très apprécié.
Habituellement, deux scripts exécutés dans différents contextes de navigateur sont interdits de communiquer entre eux pour éviter de nombreux pièges de sécurité. Cependant, parfois une telle communication est non seulement nécessaire, mais est vraiment nécessaire. C'est là que l'API de messagerie Channel entre en jeu. Cette interface permet à nos deux scripts de communiquer entre eux via un pipeline bidirectionnel. C'est comme donner à chacun un talkie-walkie sur le même canal. Très intelligent, n'est-ce pas?
const et let sont deux nouvelles façons de définir des données dans ES6. Bien que VAR définisse les variables qui ont des lunettes globales ou fonctionnées, le nouveau contenu a des lunettes de niveau bloc. Cela signifie que la portée des variables créées avec const et LET est limitée aux paires de supports qui les définissent.
bien que LET définisse une variable (sauf la portée) qui se comporte de la même manière qu'une variable classique, une constante (const) est une référence en lecture seule à une valeur. Il ne peut pas être réaffecté, ne peut pas être redéfini et ne peut partager le même nom avec aucune autre variable ou fonction dans la même plage. La seule exception est lorsqu'une constante est un objet avec ses propres propriétés. Ces propriétés ne sont pas protégées par des changements et se comportent comme des variables normales.
avec cela étant dit, consultez comment utiliser correctement les variables constantes et au niveau du bloc dans votre code:
La plupart des développeurs frontaux conviendront que la console Web est l'un des outils les plus utiles en main lorsque les scripts se comportent anormalement. Cependant, Internet Explorer est essentiellement lent à l'intégrer, et seule la version 10 commence à fournir un support complet. Maintenant, avec la retraite de l'ancien IE , rien ne peut nous empêcher de tirer le meilleur parti de cette fonctionnalité. Si vous devez actualiser vos connaissances et même trouver de nouvelles façons d'utiliser la console, consultez les spécifications suivantes:
L'internationalisation (également connue sous le nom de I18N) est le processus de création ou de conversion de produits et services afin qu'ils puissent facilement s'adapter à des langues et des cultures locales spécifiques. La localisation (également connue sous le nom de L10N) est le processus d'ajustement des logiciels internationalisés pour une région ou un langage spécifique. En d'autres termes, l'internationalisation est le processus d'adaptation de votre logiciel pour prendre en charge plusieurs cultures (formats de devises, formats de date, etc.), tandis que la localisation est le processus de mise en œuvre d'une ou plusieurs cultures.Le support du navigateur est légèrement meilleur qu'au début de cette année, et Safari V10 a rejoint les rangs en septembre. Cela semble-t-il intéressant? Voici quelques ressources pour vous mettre sur la bonne voie:
La conception Web réactive est la norme actuelle pour les sites Web efficaces, et la caractéristique clé qui le rend possible est l'existence de requêtes multimédias. MatchMedia présente des requêtes multimédias de CSS à JavaScript, offrant aux développeurs une plus grande flexibilité pour optimiser le contenu sur divers appareils. Un bon exemple consiste à gérer les modifications du mode portrait au mode paysage et au mode inverse pour les téléphones mobiles et les tablettes. Bien qu'il existe une API qui gère la détection d'orientation de l'appareil, la majeure partie de la prise en charge du navigateur est partielle et seul Microsoft Edge fournit une prise en charge complète. Voici quelques ressources d'introduction sur ce sujet:
Les extensions de source multimédia (MSE) ajoutent des fonctionnalités supplémentaires aux éléments vidéo et audio sans utiliser de plugins. Cela vous fournit un streaming multimédia adaptatif, un streaming en temps réel, une modification vidéo et vidéo. YouTube utilise MSE dans ses joueurs HTML5 depuis septembre 2013. Le support du navigateur est également assez bon, seuls iOS Safari et Opera Mini manquent de cette fonctionnalité. IE11 est entièrement pris en charge uniquement lorsqu'il est utilisé sur Windows 8. Malheureusement, les utilisateurs IE11 / Win7 ne peuvent pas bénéficier de cette technologie. Que vous soyez juste curieux ou que vous souhaitiez vraiment commencer à utiliser cette API, vous trouverez les ressources suivantes très utiles:
Les applications JavaScript deviennent de plus en plus complexes chaque jour. En tant que développeur, vous devez contrôler les changements qui se produisent sur la page, en particulier lorsque l'arbre Dom change ou "mute". Le besoin de ce type de surveillance n'est pas nouveau, mais il y a en fait un événement de mutation solution. Le problème avec cette interface est qu'en tant qu'événements, ils sont tous deux synchrones (déclenchés lors de l'appel et peuvent empêcher les autres événements d'être déclenchés) et doivent également être capturés ou bouillonnants dans le DOM. Cela déclenche à son tour d'autres événements, surchargeant le thread JavaScript et générant une défaillance en cascade entière dans certains cas spéciaux, provoquant le plantage du navigateur.
Par conséquent, l'événement de mutation a été obsolète et remplacé par l'observateur de mutation. Vous pourriez demander, quelle est la différence? Premièrement et surtout, l'observateur est asynchrone. Ils n'empêcheront pas votre script d'exécuter. Ils ne sont pas déclenchés à chaque mutation, mais sont adoptés par lots une fois l'activité principale terminée. Plus important encore, vous pouvez affiner l'observateur pour observer toutes les modifications du nœud ou observer uniquement les modifications d'une catégorie spécifique (telles que les modifications à uniquement des sublilistes ou uniquement des attributs, etc.). Utilisez les ressources suivantes pour commencer à apprendre à faire ceci:
La navigation sur les onglets a changé la façon dont nous interagissons avec le réseau. Il n'est pas rare que beaucoup de gens ouvrent des dizaines de pages en même temps. Chaque page effectue ses propres actions, exécute ses scripts, télécharge les ressources qu'elle possède, etc. Même si un seul onglet peut être activé à la fois, toutes les pages ouvertes consomment le temps du processeur et la bande passante. Certaines demandes peuvent envoyer périodiquement et recevoir des mises à jour sur la connexion. Mais si vous n'ouvrez pas l'application dans l'onglet Activité, doit-il être mis à jour toutes les x secondes en arrière-plan? Cela semble un peu gaspillé, n'est-ce pas? En particulier dans les appareils mobiles et les plans de données, chaque ressource est précieuse.
C'est là que l'API de visibilité de la page entre en jeu. Cette interface permet aux développeurs de savoir si leur application se trouve dans l'onglet actif ou en arrière-plan. Prenons l'application que j'ai mentionnée plus tôt qui effectue des mises à jour comme exemple. En utilisant l'API de visibilité de la page, vous pouvez détecter quand l'application est en arrière-plan, puis au lieu d'effectuer des mises à jour toutes les 5 ou 10 secondes, vous le faites toutes les 60 secondes ou même moins. Une fois que la page redevient visible, vous pouvez revenir au taux de mise à jour normal. Très cool, n'est-ce pas?
Alors, qu'attendez-vous? Consultez le guide suivant pour commencer à lancer votre application pour la visibilité de la page. Vos utilisateurs vous remercieront:
Avez-vous déjà utilisé un formulaire Web qui apparaît lorsque vous essayez de quitter ou de fermer la page, vous incitant que vous avez des données non enregistrées? Ceci est courant de nos jours sur les pages où vous modifiez les paramètres, les détails du profil, etc. Comment les scripts de la page savent-ils que vous partez? Ils écoutent les événements de PageHide.
PageHide et ses partenaires Pageshow sont les principaux protagonistes des événements de conversion de page. Nous avons vu au-dessus de quoi le premier est principalement utilisé. L'objectif principal de PageShow est de déterminer si la page est chargée à partir du cache ou directement à partir du serveur. Ce n'est pas l'utilisation la plus courante, mais si vous avez besoin de l'une ou l'autre fonctionnalité, consultez les ressources suivantes:
L'animation sur le Web a parcouru un long chemin des premiers <marquee></marquee>
et <blink></blink>
aux gifs d'animation, des effets jQuery, aux animations actuelles CSS, SVG, Canvas et WebGL. Une constante de toutes ces méthodes est la nécessité de contrôler l'écoulement de l'animation et de la rendre aussi fluide que possible.
La méthode initiale utilise SetInterval et setTimeout pour contrôler les étapes de l'animation. Le problème est que les résultats ne sont pas cohérents de manière fiable et que l'animation est généralement rude. C'est pourquoi une nouvelle interface a été conçue - DemandeAmationFrame. Le principal avantage de cette approche est que le navigateur peut faire correspondre librement la demande à son propre cycle de dessin, lisant ainsi considérablement l'animation. Avec son homologue CanceLanimationFrame, ces deux méthodes sont à la base de l'animation JavaScript moderne.
Comme d'habitude, voici quelques ressources qui vous amèneront à maîtriser cette fonctionnalité.
Les performances en ligne sont un sujet brûlant aujourd'hui, et tout le monde fait de son mieux pour réduire les ressources, optimiser les scripts et tirer le meilleur parti des outils dont ils disposent. Il existe deux façons principales de résoudre ce problème: les performances du réseau (la vitesse de livraison des sites et des ressources) et des performances de l'utilisateur (la vitesse d'exécution des applications elles-mêmes).
Les performances du réseau sont desservies par deux API: synchronisation de navigation et synchronisation des ressources. Ils fournissent tous tous les types d'informations liées aux performances du réseau, telles que le DNS, le CDN, la demande et le temps de réponse, etc. La seule différence est que la synchronisation de navigation cible la page HTML elle-même, tandis que les ressources synchronisaient toutes les autres ressources (images, scripts, médias, etc.).
En termes de performances de l'utilisateur, nous avons une API: synchronisation de l'utilisateur. Cette API gère deux concepts principaux, appelés Mark (horodatage très détaillé) et mesure (l'intervalle de temps entre deux marques). Utilisez ces concepts pour mesurer la vitesse d'exécution du code et identifier où il doit être optimisé. Malheureusement, Safari ne prend toujours pas en charge cette API, donc un polyfill peut être nécessaire.
La maîtrise de l'utilisation de ces interfaces est essentielle pour garantir des performances optimales de votre site Web ou de votre application. C'est pourquoi nous vous fournissons du matériel d'apprentissage:
Les tableaux typés JavaScript sont des objets de type tableau et fournissent un moyen d'accéder aux données binaires brutes. Pour une flexibilité et une efficacité maximales, la mise en œuvre est effectuée le long de deux concepts: un tampon (bloc de données brutes) et une vue (fournissant un contexte qui peut interpréter les données de tampon). Il existe de nombreuses API Web qui utilisent des tableaux typés, tels que WebGL, Canvas 2D, XMLHTTPREQUEST2, fichier, source multimédia ou Websockets binaires. Si votre code gère ces techniques, vous pouvez être intéressé par les ressources suivantes:
Nous avons discuté de la messagerie de canaux plus tôt et comment il fait que deux scripts différents communiquent directement entre eux. WebSockets est similaire à cela, avec plus de fonctionnalités. Utilisez cette API pour créer un canal de communication persistant entre le navigateur et le serveur Web.
Comme HTTP, le protocole WebSocket a également deux versions: disapes (ws: // ...) et sécurisé (wss: // ...). Il considère également les serveurs proxy et les pare-feu, à travers lesquels les tunnels sont ouverts. En fait, les connexions WebSocket commencent avec une connexion HTTP normale, assurant la compatibilité avec l'infrastructure existante.
WebSockets est une technologie fascinante (ils ont même un site Web dédié) et il y a beaucoup à apprendre. Pour vous aider à démarrer, voici quelques ressources sélectionnées:
Par défaut, toutes les tâches JavaScript s'exécutent dans le même thread. Cela signifie que tous les scripts de la page doivent partager la même file d'attente de temps de traitement. C'est bon et simple lorsque le processeur n'a qu'un seul noyau. Cependant, les processeurs modernes ont au moins des cœurs doubles, et certains modèles atteignent même 4, 6 ou 8 cœurs. Ne serait-ce pas bien si certaines tâches peuvent être déplacées dans des fils séparés qui peuvent être traités par des noyaux supplémentaires disponibles? C'est pourquoi les travailleurs du Web ont été inventés.
À l'aide de l'API des travailleurs Web, les développeurs peuvent déléguer des fichiers de script nommés aux travailleurs en cours d'exécution dans des threads séparés. Le travailleur ne répond qu'au script qui l'a créé, communique dans les messages bidirectionnelle, peut exécuter des appels XMLHTTPRequest et n'interagit pas avec certaines méthodes et propriétés par défaut de l'objet DOM ou Window. Dans la catégorie des exceptions, nous pouvons mentionner des mécanismes de stockage de données tels que WebSockets (qui peuvent affecter la gestion des connexions WebSocket aux travailleurs) ou IndededDB. Avoir votre propre assistant pour gérer les tâches secondaires, tandis que le fil principal se concentre sur l'exécution de l'application entière, rien n'est mieux que cela.
Pour commencer cette fonctionnalité (y compris une liste de fonctions et de classes disponibles pour le travailleur Web), consultez les ressources suivantes:
L'adoption de XMLHttpRequest indique une nouvelle ère de développement Web. Les données peuvent désormais être échangées entre le navigateur et le serveur sans recharger toute la page. AJAX est la nouvelle norme qui permet à chacun d'avoir une seule application de page.
Cette technologie utile sera développée, ce qui est normal. C'est ainsi que XHR obtient de nouvelles fonctionnalités, telles que les téléchargements de fichiers, transférer des informations de progression ou envoyer directement des données de formulaire. Toutes ces fonctionnalités (légères exceptions dans le cas d'IE11 ou Android plus ancien) sont prises en charge par des navigateurs grand public après la retraite. Pour plus de détails, n'hésitez pas à vérifier les ressources suivantes:
Le Web moderne est plus que HTML, CSS et JavaScript. Il existe de nombreux héros invisibles (et non rassasiés) dans les coulisses qui travaillent dur pour rendre notre expérience en ligne aussi grande que possible. Ci-dessous, nous discuterons de certaines de ces fonctionnalités qui, comme celle ci-dessus, ne peuvent pas être utilisées sur des navigateurs plus âgés IE (ils sont connus pour leurs vulnérabilités de sécurité et leur manque de soutien aux fonctionnalités modernes). Chargement JavaScript non bloquant en utilisant "async" et "différer"
Mais la vérité est que dans la plupart des cas, votre site Web ou votre application n'a besoin qu'une partie de tout JavaScript qu'elle charge. Le reste sera nécessaire plus tard, ou ils effectuent des opérations qui n'affectent pas le DOM. La manière évidente consiste à charger uniquement les scripts clés de manière régulière et à charger le reste d'une manière qui n'affecte pas négativement l'application. En fait, il existe deux méthodes de chargement de ce type.
tous les avantages de ces deux paramètres, ils deviennent un outil important pour améliorer les performances du site Web et de l'application. Consultez les ressources suivantes pour plus d'informations sur la façon et le moment de l'utilisation de cette technologie:
supprimer le blocage du rendu JavaScript sur Google Developers
La stratégie de sécurité du contenu est la principale arme contre XSS. Ce mécanisme contient un ensemble de politiques et directives qui spécifient quels scripts peuvent être exécutés, où les ressources peuvent être chargées, que les styles ou scripts en ligne puissent être exécutés, etc. CSP est basé sur les listes blanches, ce qui signifie que par défaut, tout est refusé et que seules les ressources spécifiées sont accessibles. Cela signifie que lorsque la règle est affinée, elle ne sera pas exécutée même si le script malveillant est inséré dans notre site.
Voici quelques ressources qui peuvent vous aider à mieux comprendre ce mécanisme:
Dès le début, le Web a fonctionné sur le protocole HTTP. Cependant, alors que le premier s'est développé très rapidement, HTTP est resté en grande partie le même. Dans l'écosystème complexe des sites Web et applications modernes, HTTP peut devenir un goulot d'étranglement des performances. Bien sûr, il existe certaines techniques et pratiques qui peuvent optimiser ce processus, mais seulement beaucoup peuvent être faits.
C'est pourquoi la deuxième itération du protocole a été développée, appelée HTTP / 2, qui est basée sur le protocole SPDY de Google. Il a été approuvé en février 2015 et les spécifications ont été publiées sous le nom de RFC 7540 en mai 2016. Jusqu'à présent, les navigateurs grand public ne prennent en charge HTTP / 2 que sur les connexions cryptées, et il est très probable qu'il restera ainsi dans un avenir prévisible pour encourager les propriétaires de sites à passer à HTTPS.
L'adoption HTTP / 2 n'est pas seulement une question de modification de certains paramètres de configuration. Certaines meilleures pratiques pour améliorer les performances HTTP peuvent affecter les performances sur HTTP / 2. Pour déterminer si votre site Web est prêt à utiliser HTTP / 2, vous pouvez consulter les ressources suivantes:
Les performances Web sont un sujet brûlant aujourd'hui, et pour une bonne raison. Comme le savent tout le personnel du domaine, une grande partie du temps de chargement de page est prise en compte par les téléchargements des ressources. Ne serait-ce pas génial si vous pouvez utiliser du temps après le chargement de la page pour précharger les ressources pour les prochaines étapes? C'est à cela que servent les invites de ressources.
Les invites de ressources sont une série d'instructions qui indiquent au navigateur de fournir les ressources spécifiques qui seront nécessaires à l'avenir. La liste contient cinq invites comme suit:
de ces cinq options possibles, la seule avec un bon support de navigateur actuellement est la préfet. Cette invite indique au navigateur de mettre en cache des documents que l'utilisateur est susceptible de demander après la page actuelle. Cela limite son utilisation aux éléments qui peuvent être mis en cache. L'utiliser avec d'autres types de ressources ne fonctionnera pas.
Si vous êtes intéressé par ce sujet, voici quelques ressources qui fournissent plus de détails:
https devient la nouvelle norme de navigation, et de plus en plus de sites Web n'acceptent que des connexions sécurisées. Les connexions normales (sur HTTP) sont généralement redirigées vers la version HTTPS et les choses se déroulent comme d'habitude. Cependant, cette approche est vulnérable aux attaques "man-in-the-middle", où les redirectes se produisent plutôt vers un clone usurpé du site Web que vous souhaitez (généralement un site Web bancaire) afin de voler vos informations d'identification de connexion.
C'est là que les en-têtes de sécurité de transmission stricts entrent en jeu. La première fois que vous vous connectez au site Web souhaité à l'aide de HTTPS, l'en-tête sera envoyé au navigateur. La prochaine fois que vous vous connectez, même si vous n'utilisez que la version HTTP de l'URL, le navigateur ira directement à la version HTTPS sans passer par le cycle de redirection. Étant donné qu'aucune connexion n'est établie sur HTTP, l'attaque décrite ci-dessus ne se produira pas.
Pour plus de détails sur la transmission strictement des en-têtes de sécurité, veuillez consulter le site Web suivant:
window.devicepixelratio est une propriété en lecture seule qui renvoie le rapport de la taille (verticale) d'un pixel physique sur le dispositif d'affichage actuel à la taille d'un pixel CSS. De cette façon, les développeurs peuvent détecter des écrans à haute densité (tels que l'écran Retina d'Apple ou l'écran Android haut de gamme). Lorsqu'il est utilisé avec Media Query et MatchMedia (nous avons discuté ci-dessus), cette propriété permet des ressources optimisées pour la meilleure expérience.
La piste de texte vidéo Web (ou WebVTT) est un format utilisé pour marquer les sous-titres de texte des ressources multimédias. Il est utilisé avec des éléments html5 <track></track>
et permet d'ajouter des sous-titres, des traductions, des titres ou des descriptions aux actifs multimédias (audio ou vidéo) de manière synchrone. La présence de ces informations textuelles facilite l'accès aux ressources médiatiques.
Pour des instructions sur la façon de commencer cette fonctionnalité, veuillez consulter les ressources suivantes:
<track></track>
sur dev.opera Nous sommes ici, à la fin de cette série, qui commence par un simple exercice intellectuel: " Old IE est parti! Célébrez! (… Quelques heures plus tard……) Que faire maintenant ? ». Nous couvrons un large éventail de sujets, des techniques et des pratiques qui ne sont plus nécessaires à tout ce que nous sommes maintenant libres de faire sans polyfill, que ce soit HTML, CSS ou JavaScript natif. Nous avons même abordé une gamme plus large de sujets tels que l'optimisation des performances et la sécurité améliorée.
devriez-vous commencer à refactoriser tout votre code dès maintenant? Probablement pas. De telles décisions doivent être prises en fonction de l'équilibre entre les coûts reconstitués et le coût de la dette technique. Cependant, si vous démarrez un nouveau projet, assurez-vous de le construire pour l'avenir, pas pour le passé.
Le développement JavaScript natif après Internet Explorer est essentiel car il permet aux développeurs de créer des applications Web plus efficaces et efficaces. Avec la désactivation de l'explorateur Internet, les développeurs ne se limitent plus aux contraintes et aux problèmes de compatibilité qui sont généralement associés à ce navigateur. Ils peuvent désormais utiliser les capacités complètes de JavaScript, y compris ses dernières fonctionnalités et mises à jour, pour créer des applications Web plus dynamiques, interactives et conviviales.
Activer JavaScript dans un navigateur est un processus facile. Pour la plupart des navigateurs, vous pouvez trouver des options pour activer ou désactiver JavaScript dans le menu Paramètres ou Préférences. En règle générale, cela implique de naviguer vers la section "Security" ou "Privacy" et à la recherche d'options liées à JavaScript. Assurez-vous de l'activer pour une meilleure expérience de navigation.
Oui, il existe des différences significatives dans le fonctionnement de JavaScript dans Internet Explorer et d'autres navigateurs. Internet Explorer possède différents moteurs JavaScript, ce qui conduit souvent à des problèmes de compatibilité et des limitations. Les navigateurs modernes tels que Chrome, Firefox et Safari utilisent des moteurs JavaScript plus avancés qui prennent en charge les dernières fonctionnalités et normes JavaScript, qui améliorent les performances et réduisent les problèmes de compatibilité.
L'utilisation de JavaScript native présente de nombreux avantages par rapport à l'utilisation de bibliothèques ou de cadres. Il permet de meilleures performances car il n'y a pas de frais généraux de chargement et d'analyse du code inutile. Il fournit également plus de contrôle sur le code, car les développeurs ne sont pas liés par des bibliothèques ou des cadres spécifiques. De plus, la compréhension et l'utilisation de JavaScript natif peuvent vous donner une compréhension plus profonde de la langue et de ses fonctionnalités.
La désactivation d'Internet Explorer a eu un impact significatif sur le développement de JavaScript. Les développeurs n'ont plus besoin d'écrire du code supplémentaire ou différent pour assurer la compatibilité avec Internet Explorer. Cela conduit à un processus de développement plus efficace et à la capacité de profiter de la pleine fonctionnalité de JavaScript. Cela conduit également à une expérience utilisateur plus cohérente entre les navigateurs.
JavaScript est constamment mis à jour et a ajouté de nouvelles fonctionnalités et améliorations. Certaines des dernières fonctionnalités incluent Async / Await pour la gestion des opérations asynchrones, une syntaxe étendue pour l'extension des tableaux ou d'autres objets itérables et des fonctions de flèche pour une syntaxe de fonction plus concise. Ces fonctionnalités peuvent améliorer considérablement votre développement JavaScript et vous permettre d'écrire du code plus efficace et lisible.
Assurer la compatibilité du navigateur est un aspect important du développement JavaScript. Une façon d'y parvenir consiste à utiliser la détection des fonctionnalités, qui consiste à vérifier si le navigateur de l'utilisateur prend en charge la fonctionnalité avant de l'utiliser. Une autre approche consiste à utiliser PolyFill, un script qui fournit des fonctionnalités plus récentes pour les navigateurs plus âgés qui ne les soutiennent pas.
L'avenir du développement JavaScript après que Internet Explorer est à la retraite semble prometteur. Avec la désactivation de l'explorateur d'Internet, les développeurs peuvent désormais se concentrer sur le profit des capacités complètes de JavaScript sans se soucier des problèmes de compatibilité. Cela a combiné avec les mises à jour continues et les améliorations de la langue, annonçant un avenir où JavaScript est plus efficace, plus puissant et plus polyvalent.
Il y a beaucoup de grandes ressources pour en savoir plus sur le développement de JavaScript natif. Certaines plateformes en ligne populaires incluent Mozilla Developer Network (MDN), FreeCodeCamp et CodeCademy. Ces plateformes fournissent des guides et des tutoriels complets sur JavaScript, couvrant tout, des bases aux sujets plus avancés.
Le débogage est une partie indispensable du développement JavaScript. La plupart des navigateurs modernes sont livrés avec des outils de développement intégrés qui peuvent être utilisés pour le débogage. Ces outils vous permettent de parcourir le code, de vérifier les variables et de voir toutes les erreurs ou exceptions qui se produisent. De plus, l'utilisation de bonnes pratiques de codage, telles que l'écriture de code propre et concise et annotant le code, peut également faciliter le processus de débogage.
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!