L'une des façons de classer un langage de programmation est de la force ou de la faiblesse. Ici, «tapé» signifie si les variables sont connues au moment de la compilation. Un exemple de cela serait un scénario où un entier (1) est ajouté à une chaîne contenant un entier ("1"):
result = 1 "1";
La chaîne contenant un entier aurait pu être générée involontairement à partir d'une suite de logique compliquée avec beaucoup de pièces mobiles. Il aurait également pu être généré intentionnellement à partir d'une seule source de vérité.
Malgré les connotations que les termes «faibles» et «forts» impliquent, un langage de programmation fortement typé n'est pas nécessairement meilleur qu'un langage faiblement typé. Il peut y avoir des scénarios où la flexibilité est plus nécessaire que la rigidité et vice-versa. Comme pour de nombreux aspects de la programmation, la réponse dépend de plusieurs contextes externes (c'est-à-dire «cela dépend»).
L'autre bit intéressant est qu'il n'y a pas de définition formelle de ce qui constitue un typage fort ou faible. Cela signifie que les perceptions de ce qui est considéré comme un langage fortement ou faiblement typé diffère d'une personne à l'autre et peut changer avec le temps.
JavaScript est considéré comme un langage faiblement typé, et cette flexibilité a contribué à son adoption précoce sur le Web. Cependant, comme le Web a mûri et industrialisé, les cas d'utilisation pour JavaScript sont devenus plus compliqués.
Des extensions comme TypeScript ont été créées pour aider à cela. Considérez-le comme un «plugin» pour JavaScript, qui greffe un type fort sur la langue. Cela aide les programmeurs à naviguer des configurations compliquées. Un exemple de cela pourrait être une application à page unique à forte intensité de données utilisée pour le commerce électronique.
TypeScript est actuellement très populaire dans l'industrie du développement Web, et de nombreux nouveaux projets utilisent par défaut TypeScript lors de la première définition des choses.
Le temps de compilation est le moment où un langage de programmation est converti en code machine. C'est un précurseur à l'exécution, le moment où le code machine est effectué par l'ordinateur.
Comme avec beaucoup de choses sur le Web, le temps de compilation est un peu délicat. Une configuration qui utilise TypeScript aspirera les pièces de composant de code JavaScript et les compilera dans un seul fichier javascript pour le navigateur à lire et à exécuter.
Le temps où les composants compilent, c'est quand ils sont tous combinés. TypeScript sert de type de surveillant et vous criera dessus si vous essayez de briser les conventions typées que vous avez configurées pour vous avant que la combinaison ne se produise.
Le fichier JavaScript together cousé est ensuite ingéré par le navigateur, qui a son propre temps de compilation. Le temps de compilation du navigateur est très variable, selon:
TypeScript n'est pas directement utilisé par le navigateur, mais sa présence est ressentie. JavaScript est fragile. TypeScript aide à cette fragilité en essayant d'éviter les erreurs en amont dans l'éditeur de code. Cela diminue les erreurs de chance dans le javascript lu par le navigateur - des erreurs qui entraîneraient JavaScript à arrêter de fonctionner sur le site Web ou l'application Web qu'une personne utilise.
CSS est un langage de programmation déclaratif spécifique au domaine. Il est également fortement dactylographié. Pour la plupart, les valeurs de CSS restent déclarées comme écrites. Si une valeur est invalide, le navigateur jette toute la propriété.
La liste des types dans CSS est approfondie. Ils sont:
Mots-clés:
Pour cet exemple, le navigateur ne comprend pas la déclaration de «pomme de terre» de style frontière de la bannière. Notez que les autres déclarations de propriété / valeur de sélecteur de classe. Ceci est un exemple de la résiliente CSS.
La déclaration de style bordure attend l'un des types de style textuel suivant:
Si nous mettons à jour le style de bordure pour utiliser une valeur valide et tapée de pointillés, le navigateur rendra la bordure!
Exemple 2: calcul
La fonction calc () dans CSS nous permet de prendre deux arguments et un opérateur pour renvoyer un résultat calculé. Si l'un des arguments n'utilise pas de type valide, le calcul ne fonctionnera pas.Pour cette raison, la taille de la police du paragraphe retombe au nœud parent le plus applicable suivant - la taille de police de 1.5rem déclaré sur l'élément corporel.
Exemple 3: propriété personnalisée redéfinie
Comme les variables JavaScript, les valeurs de propriété personnalisées peuvent être redéfinies. Cette flexibilité permet de créer facilement des thèmes de couleur de mode foncé.
Dans le: sélecteur de racines de ce code de codepen, j'ai défini une propriété personnalisée de --Color-Cyan, avec une valeur de # 953FE3. Ensuite, dans la classe .Square, j'ai mis à jour la valeur de la propriété personnalisée - Color-Cyor. Bien que le haut soit une valeur valide et dactylographiée, ce n'est pas un type que les honneurs en arrière-plan.
outillage
En espérant qu'un développeur remarquera qu'un changement visuel potentiellement minuscule est une demande trop importante et ne les rencontre pas où ils sont pour la plupart de leurs autres outils quotidiens. Il y a quelques initiatives dont je suis conscient qui essaient de résoudre ce problème.
est d'abord Stylelint, un linter conçu spécifiquement pour traiter les langues de prétraitement CSS et CSS. Stylelint peut s'intégrer aux éditeurs de code, aux coureurs de tâches, aux outils de ligne de commande et aux actions GitHub pour aider à garder votre CSS sous contrôle. Cela lui permet de rencontrer des développeurs où ils se trouvent déjà.
Second est l'excellente suite d'options d'inspection CSS de Firefox dans ses outils de développeur. En particulier, je voudrais attirer l'attention sur sa capacité à identifier le CSS inutilisé. Ceci est extrêmement utile pour identifier les sélecteurs qui peuvent avoir retenu le type de type.
Enveloppement
à mesure que JavaScript fortement de type devient plus populaire, j'espère qu'il aide les développeurs à devenir plus à l'aise avec l'entreprise, mais flexible, de CSS.
Merci à Miriam Suzanne pour ses commentaires.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3