Maison >interface Web >Questions et réponses frontales >Javascript est-il un langage fortement typé ?
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.
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!