Maison >interface Web >Questions et réponses frontales >Javascript est-il un langage fortement typé ?

Javascript est-il un langage fortement typé ?

青灯夜游
青灯夜游original
2021-11-19 18:20:372855parcourir

Javascript n'est pas un langage fortement typé, mais un langage faiblement typé. JavaScript est un langage basé sur un prototype, faiblement typé et dynamiquement typé. Il permet la conversion implicite de types de variables, la conversion de type forcée, etc. Par exemple, les chaînes et les valeurs peuvent être automatiquement converties, alors que les langages fortement typés ne le font généralement pas ; permettre cela.

Javascript est-il un langage fortement typé ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

JavaScript est un langage de script littéral, un langage basé sur un prototype à typage dynamique, faiblement typé, avec prise en charge intégrée des types. Son interpréteur s'appelle un moteur javascript, qui fait partie du navigateur et est largement utilisé dans les langages de script côté client. Il a d'abord été utilisé sur les pages Web HTML pour ajouter des fonctions dynamiques aux pages Web HTML. JavaScript est compatible avec la norme ECMA, c'est pourquoi il est également appelé ECMAScript.

Langage faiblement typé :

Un langage dans lequel les types de données peuvent être ignorés. C'est l'opposé d'un langage de définition fortement typé, dans lequel une variable peut se voir attribuer des valeurs de différents types de données.

Les langages faiblement typés permettent la conversion implicite des types de variables, la conversion de type forcée, etc. Par exemple, les chaînes et les valeurs peuvent être automatiquement converties ; alors que les langages fortement typés ne le permettent généralement pas.

L'incarnation des types faibles dans js

La règle générale est que plus la contrainte est forte, moins elle est sujette aux erreurs, mais plus elle est gênante lors de l'écriture d'un programme. En JavaScript, parce que les contraintes sont relativement faibles, ce genre d'erreur est susceptible de se produire : l'exemple le plus simple :

 var a =200;
 var b ="1";
 var c= a + b;

Vous pouvez vous attendre à ce que c soit 201, mais en fait c'est "2001", cette erreur ne se produira jamais dans un un langage fortement typé apparaît. Cependant, précisément parce que JavaScript n'a pas ces contraintes, il peut facilement concaténer des types numériques et des types de chaînes.

Un autre exemple est le suivant :

var a = '11';
a = a - '';
alert(typeof a);// -->number

"-" peut être un opérateur unaire (négatif) ou un opérateur binaire (opération de soustraction)

Dans une instruction de boucle (if, while), un objet Object peut être implicitement converti à partir de valeurs BOOLÉENNES.

var obj = {name:'jack'}
if(obj){
    //do more
}

【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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn