Maison > Article > interface Web > Que signifie le type javascript faible ?
En JavaScript, un typage faible signifie que le type de données peut être ignoré et qu'une variable peut se voir attribuer des valeurs de différents types de données. JavaScript est un langage faiblement typé, qui 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 permettent généralement pas.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
Langage fortement typé :
Un langage qui applique les définitions de types de données. En d’autres termes, une fois qu’un certain type de données est attribué à une variable, ce sera toujours ce type de données si elle n’est pas convertie. Par exemple : si vous définissez une variable entière a, alors il est impossible pour le programme de traiter a comme un type chaîne. Un langage de définition fortement typé est un langage de type sécurisé.
Langage faiblement typé :
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 js
La règle générale est que plus la contrainte est forte, moins elle est sujette aux erreurs, mais le c'est encore plus gênant lors de l'écriture d'un programme. En JavaScript, les contraintes étant relativement faibles, ce type 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". dans les langues fortement typées, le centre n'apparaîtra jamais. 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 les instructions en boucle (if, while), un objet Object peut être implicitement converti à partir d'une valeur BOOLEAN.
var obj = {name:'jack'} if(obj){ //do more }
Ce qui est plus difficile à trouver est dans la fonction alert().
String.prototype.fn = function(){return this}; var a = 'hello'; alert(typeof a.fn()); //-->object alert(a.fn()); //-->hello
Nous savons que cela peut être compris comme un objet d'instance de la classe actuelle puisqu'il s'agit d'un objet, typeof a.fn() renvoie naturellement un objet.
La clé est la dernière alerte (a.fn()). Ce que renvoie a.fn() est évidemment un objet, mais il est implicitement converti en une chaîne "hello" pour l'affichage.
[Recommandations associées : Tutoriel d'apprentissage du 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!