Maison  >  Article  >  interface Web  >  Comment convertir le type de données en javascript

Comment convertir le type de données en javascript

青灯夜游
青灯夜游original
2021-09-16 18:04:035126parcourir

Méthodes de conversion des types de données en JavaScript : 1. Convertissez automatiquement le type de données de la valeur en fonction de l'environnement informatique pour répondre aux besoins informatiques ; 2. Utilisez les fonctions intégrées de JavaScript telles que toString(), String(), parseInt ; (), etc. pour forcer la conversion du type de données.

Comment convertir le type de données en javascript

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

JavaScript est un langage dynamique. Le langage dit dynamique peut être temporairement compris comme signifiant que tout dans le langage est incertain. Par exemple, si une variable est un entier à ce moment, elle peut devenir une chaîne au moment suivant. Bien que le type de données de la variable ne soit pas défini, divers opérateurs ont des exigences concernant le type de données. Si l'opérateur constate que le type de l'opérateur ne correspond pas au type attendu, il convertira automatiquement le type.

En termes simples, JavaScript peut convertir automatiquement le type de valeurs en fonction de l'environnement informatique pour répondre aux besoins informatiques.

Exemple : Utilisez l'opérateur plus pour convertir une valeur en chaîne

//把数字转换为字符串
var n = 123;
n = n + "";
console.log(typeof n); //返回类型为 string

Exemple : Utilisez l'opérateur de multiplication pour convertir une chaîne en valeur numérique

var n = "123";
n = n * 1;
console.log(typeof n); //返回类型为 number

Mais dans de nombreux cas, les développeurs doivent convertir manuellement le type de données ( Conversion de type forcée) pour contrôler le processus de fonctionnement.

1. Convertir d'autres types de données en String

Méthode 1 : méthode toString()

Appelez la méthode toString() du type de données converti. Cette méthode n'affectera pas la variable d'origine, elle le fera. Le résultat de la conversion est renvoyé, mais attention : les deux valeurs null et undefined n'ont pas besoin de toString, et si leurs méthodes sont appelées, une erreur sera signalée.

var a = 123
a.toString()//"123"
var b = null;
b.toString()//"报错"
var c = undefined
c.toString()//"报错"

En utilisant le mode base de la méthode toString() du type Number, les nombres peuvent être générés dans différentes bases. Par exemple, la base du binaire est 2, la base de l'octal est 8 et la base de l'hexadécimal est 16.

var iNum = 10;
alert(iNum.toString(2));        //输出 "1010"
alert(iNum.toString(8));        //输出 "12"
alert(iNum.toString(16));       //输出 "A"

Méthode 2 : fonction String()

Lors de l'utilisation de la fonction String() pour une conversion de type forcée, la méthode toString() est en fait appelée pour Number et Boolean,

mais pour null et indéfini, la méthode toString() ne sera pas appelé, il convertira null directement en "null" et undefined directement en "undefined" Si le paramètre de la méthode String est un objet, il renvoie une chaîne de type s'il s'agit d'un tableau, il renvoie la forme chaîne de ; le tableau.

var a = null
String(a)//"null"
var b = undefined
String(b)//"undefined"

2. Convertissez d'autres types de données en Number

Méthode 1 : utilisez la fonction Number()

Ce qui suit est divisé en deux cas, l'un est que le paramètre est une valeur de type primitif et l'autre est que le paramètre est un objet

(1) Valeur de type primitif

① Chaîne en nombre

    S'il s'agit d'une chaîne purement numérique, convertissez-la directement en nombre
  • S'il y a un contenu non numérique dans le chaîne, convertissez-la Est NaN
  • Si la chaîne est une chaîne vide ou une chaîne pleine d'espaces, elle est convertie en 0
  • String({a: 1}) // "[object Object]"
    String([1, 2, 3]) // "1,2,3"
  • ②Valeur booléenne en nombre : vrai est converti en 1, faux est converti en 0
Number('324') // 324
Number('324abc') // NaN
Number('') // 0

③undéfini en nombre : Convertir en NaN

Number(true) // 1
Number(false) // 0

④null en nombre : Convertir en 0

Number(undefined) // NaN

⑤Number() accepte une valeur numérique comme paramètre À ce stade, il peut reconnaître à la fois les nombres hexadécimaux et octaux négatifs commençant par 0. , et renvoie La valeur est toujours une valeur décimale

Number(null) // 0

(2) Objet

La règle simple est que lorsque le paramètre de la méthode Number est un objet, NaN sera renvoyé sauf s'il s'agit d'un tableau contenant une seule valeur.

Number(3.15);    //3.15
Number(023);     //19
Number(0x12);    //18
Number(-0x12);   //-18

Méthode 2 : parseInt() & parseFloat()

Cette méthode est spécialement utilisée pour traiter les chaînes parseInt() convertit une chaîne en un entier et peut extraire le contenu entier valide d'une chaîne, puis la convertir en. Nombre. parseFloat() convertit une chaîne en nombre à virgule flottante. parseFloat() est similaire à parseInt(), sauf qu'il peut obtenir des décimales valides.

Number({a: 1}) // NaN
Number([1, 2, 3]) // NaN
Number([5]) // 5

parseInt() utilise par défaut la conversion décimale lorsqu'il n'y a pas de deuxième paramètre, la valeur est convertie en utilisant le deuxième paramètre comme base. Si la base est incorrecte, elle renvoie NaN

console.log(parseInt('.21'));        //NaN
console.log(parseInt("10.3"));        //10
console.log(parseFloat('.21'));      //0.21
console.log(parseFloat('.d1'));       //NaN
console.log(parseFloat("10.11.33"));  //10.11
console.log(parseFloat("4.3years"));  //4.3
console.log(parseFloat("He40.3"));    //NaN

La différence. entre les deux : La fonction Number convertit une chaîne en valeur numérique et est beaucoup plus stricte que la fonction parseInt. Fondamentalement, tant qu'un caractère ne peut pas être converti en valeur numérique, la chaîne entière sera convertie en NaN.

console.log(parseInt("13"));          //13
console.log(parseInt("11",2));        //3
console.log(parseInt("17",8));        //15
console.log(parseInt("1f",16));       //31

Dans le code ci-dessus, parseInt analyse les caractères un par un, tandis que la fonction Number convertit le type de la chaîne dans son ensemble.

De plus, le traitement des chaînes vides est également différent

parseInt('42 cats') // 42
Number('42 cats') // NaN

3 Convertissez d'autres types de données en booléens

.

它的转换规则相对简单:只有空字符串("")、null、undefined、+0、-0 和 NaN 转为布尔型是 false,其他的都是 true,空数组、空对象转换为布尔类型也是 true,甚至连false对应的布尔对象new Boolean(false)也是true

Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(NaN) // false
Boolean('') // false
Boolean({}) // true
Boolean([]) // true
Boolean(new Boolean(false)) // true

【推荐学习: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