Table des matières
1. Règles de conversion de type
2. Afficher la conversion de type forcée
3 . Casting implicite
Maison interface Web js tutoriel Comment effectuer une conversion de type forcée en javascript

Comment effectuer une conversion de type forcée en javascript

Apr 19, 2021 pm 02:27 PM
javascript 强制类型转换 类型转换

Méthode de conversion forcée : 1. Utilisez la méthode ToString(), ToNumber() ou ToBoolean() ; 2. Utilisez la méthode String(), Number() ou Boolean() ; -" ; 4. Utilisez des instructions telles que "if()" et "while()".

Comment effectuer une conversion de type forcée en javascript

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

1. Règles de conversion de type

1.ToString

Pour les objets ordinaires, sauf si vous définissez vous-même la méthode toString, la méthode Object.prototype.toString() sera appelée. Si l'objet a sa propre méthode toString, la stringification appellera la méthode et utilisera sa valeur de retour.

2.ToNumber

  • Pour les types de base où true est converti en 1 et false est converti en 0 ; 🎜> undefined est converti en NaN, null est converti en 0.
  • Le type d'objet sera d'abord converti en une valeur de type de base. Si une valeur de type de base non numérique est renvoyée, elle sera ensuite forcée d'être convertie en nombre selon les règles de conversion de type de base. Afin de convertir une valeur en valeur de type primitif correspondante, l'opération abstraite
  • ToPrimitive vérifie d'abord si la valeur a une méthode valueOf(). S'il existe et renvoie une valeur de type de base, utilisez cette valeur pour la conversion. Sinon, utilisez la valeur de retour de toString() (si elle existe) pour effectuer la conversion. Si ni valueOf() ni toString() ne renvoient une valeur de type de base, une TypeError sera générée.
  • let a = {
        valueOf:function(){
            return "42";
        }
    };
    let b = {
        toString:function(){
            return "42";
        }
    };
    let c = [4,2];
    c.toString = function(){
        return this.join(""); //"42"
    };
    
    Number(a);     //42
    Number(b);     //42
    Number(c);     //42
    Number('');    //0
    Number([]);    //0
    Number(["abc"];//NaN
    Copier après la connexion

3.ToBoolean

Les valeurs en JavaScript peuvent être divisées en valeurs qui peuvent être forcées à false et valeurs pouvant être forcées Convertit deux types de valeurs en vrai.


Fausses valeurs :

    undefined
  • null
  • false
  • +0, -0, NaN
  • ""

Vraie valeur : À l'exception de la liste ci-dessus, tous les objets peuvent être compris comme de vraies valeurs, et tous les objets sont de vraies valeurs

let a1 = new Boolean( false );
let b1 = new Number( 0 );
let c1 = new String( "" );
let d1 = Boolean(a1 && b1 && c1); //true

let a2 = [];
let b2 = {};
let c2 = function(){};
let d2 = Boolean(a2 && b2 && c2); //true
Copier après la connexion

2. Afficher la conversion de type forcée

1. Afficher la conversion entre les chaînes et les nombres

Chaîne et The. la conversion entre les nombres s'effectue via les deux fonctions intégrées

String(..) et Number(..). En plus de String(..) et Number(..), il existe d'autres moyens d'obtenir une conversion explicite entre des chaînes et des nombres :

let a = 42;
let b = a.toString();
let c = "3.14";
let d = +c;
b; // "42"
d; // 3.14
Copier après la connexion

a.toString() est explicit , mais il existe un conversion implicite impliquée. Étant donné que toString() ne fonctionne pas avec des valeurs primitives telles que 42, le moteur JavaScript crée automatiquement un objet wrapper pour 42, puis appelle toString() sur cet objet. Cette conversion explicite contient une conversion implicite.

2. Conversion d'affichage en valeur booléenne

let a = "0";
let b = [];
let c = {};
let d = "";
let e = 0;
let f = null;
let g;
Boolean( a ); // true
Boolean( b ); // true
Boolean( c ); // true
Boolean( d ); // false
Boolean( e ); // false
Boolean( f ); // false
Boolean( g ); // false
Copier après la connexion

Bien que Boolean(..) soit explicite, il n'est pas couramment utilisé . La manière la plus courante de convertir explicitement un type en valeur booléenne est !!

let a = "0";
let b = [];
let c = {};
let d = "";
let e = 0;
let f = null;
let g;
!!a; // true
!!b; // true
!!c; // true
!!d; // false
!!e; // false
!!f; // false
!!g; // false
Copier après la connexion

[Apprentissage recommandé :

Tutoriel JavaScript avancé]

3 . Casting implicite

1. Casting implicite entre chaîne et nombre

( 1) L'opérateur +

peut être utilisé pour l'addition de nombres et la concaténation de chaînes

Si l'un des opérandes de + est une chaîne (ou obtenez une chaîne en appelant l'opération abstraite ToPrimitive dessus ), effectuez une concaténation de chaînes ; sinon effectuez une addition numérique. Étant donné que l'opération valueOf() du tableau ne peut pas obtenir une simple valeur primitive, elle appelle à la place toString(). Ainsi, les deux tableaux de l'exemple ci-dessous deviennent "1,2" et "3,4". + Concaténez-les et renvoyez "1,23,4".

let a = "42";
let b = "0";
a + b; // "420"

let c = 42;
let d = 0;
c + d; // 42

let x = [1,2];
let y = [3,4];
x + y; // "1,23,4"
Copier après la connexion

peut utiliser l'opérateur + pour la conversion de chaîne, + le nombre et la chaîne vide "" pour la convertir en chaîne

let a = 42;
let b = a + "";
b; // "42"
Copier après la connexion

a + "" (implicite) et il y a un subtil différence à noter entre le String(a) précédent (explicite).

Selon les règles de l'opération abstraite ToPrimitive, un + "" appellera la méthode valueOf() sur a, puis convertira la valeur de retour en chaîne via l'opération abstraite ToString. String(a) appelle directement ToString(). Ils renvoient finalement des chaînes, mais si a est un objet plutôt qu'un nombre, le résultat peut être différent

let a = {
    valueOf: function() { return 42; },
    toString: function() { return 4; }
};
a + "";         // "42"
String( a );    // "4"
Copier après la connexion

(2) Cas de transtypage d'une chaîne en nombre

-Oui Opérateur de soustraction numérique, donc a - 0 convertira a en un nombre. Vous pouvez également utiliser un * 1 et un /1, car ces deux opérateurs ne s'appliquent qu'aux nombres, mais une telle utilisation est moins courante

let a = [3];
let b = [1];
a - b; // 2
Copier après la connexion

2. Type forcé implicite Convertir en valeur booléenne <.>La conversion implicite de la valeur booléenne se produira dans les situations suivantes :

(1) Expression conditionnelle dans l'instruction if (..) .

(2) L'expression conditionnelle (seconde) dans l'instruction for ( .. ; .. ; .. ).

(3) Expressions conditionnelles dans les boucles while (..) et do..while(..).

(4) ? : Expression de jugement conditionnel.

(5) L'opérande sur le côté gauche des opérateurs logiques || (OU logique) et && (ET logique) (en tant qu'expression conditionnelle).

Dans le cas ci-dessus, les valeurs non booléennes seront implicitement converties en valeurs booléennes, en suivant les règles d'opération abstraites ToBoolean introduites précédemment.

Pour plus de connaissances liées à la programmation, veuillez visiter : Introduction à la programmation ! !

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de reconnaissance vocale en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 pm 02:54 PM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de reconnaissance vocale en ligne Introduction : Avec le développement continu de la technologie, la technologie de reconnaissance vocale est devenue une partie importante du domaine de l'intelligence artificielle. Le système de reconnaissance vocale en ligne basé sur WebSocket et JavaScript présente les caractéristiques d'une faible latence, d'un temps réel et d'une multiplateforme, et est devenu une solution largement utilisée. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de reconnaissance vocale en ligne.

WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel WebSocket et JavaScript : technologies clés pour mettre en œuvre des systèmes de surveillance en temps réel Dec 17, 2023 pm 05:30 PM

WebSocket et JavaScript : technologies clés pour réaliser des systèmes de surveillance en temps réel Introduction : Avec le développement rapide de la technologie Internet, les systèmes de surveillance en temps réel ont été largement utilisés dans divers domaines. L'une des technologies clés pour réaliser une surveillance en temps réel est la combinaison de WebSocket et de JavaScript. Cet article présentera l'application de WebSocket et JavaScript dans les systèmes de surveillance en temps réel, donnera des exemples de code et expliquera leurs principes de mise en œuvre en détail. 1. Technologie WebSocket

Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Comment mettre en œuvre un système de réservation en ligne à l'aide de WebSocket et JavaScript Dec 17, 2023 am 09:39 AM

Comment utiliser WebSocket et JavaScript pour mettre en œuvre un système de réservation en ligne. À l'ère numérique d'aujourd'hui, de plus en plus d'entreprises et de services doivent fournir des fonctions de réservation en ligne. Il est crucial de mettre en place un système de réservation en ligne efficace et en temps réel. Cet article explique comment utiliser WebSocket et JavaScript pour implémenter un système de réservation en ligne et fournit des exemples de code spécifiques. 1. Qu'est-ce que WebSocket ? WebSocket est une méthode full-duplex sur une seule connexion TCP.

Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Comment utiliser JavaScript et WebSocket pour mettre en œuvre un système de commande en ligne en temps réel Dec 17, 2023 pm 12:09 PM

Introduction à l'utilisation de JavaScript et de WebSocket pour mettre en œuvre un système de commande en ligne en temps réel : avec la popularité d'Internet et les progrès de la technologie, de plus en plus de restaurants ont commencé à proposer des services de commande en ligne. Afin de mettre en œuvre un système de commande en ligne en temps réel, nous pouvons utiliser les technologies JavaScript et WebSocket. WebSocket est un protocole de communication full-duplex basé sur le protocole TCP, qui peut réaliser une communication bidirectionnelle en temps réel entre le client et le serveur. Dans le système de commande en ligne en temps réel, lorsque l'utilisateur sélectionne des plats et passe une commande

Conversion de type de la fonction golang Conversion de type de la fonction golang Apr 19, 2024 pm 05:33 PM

La conversion de type en fonction permet de convertir les données d'un type en un autre type, étendant ainsi la fonctionnalité de la fonction. Utilisez la syntaxe : type_name:=variable.(type). Par exemple, vous pouvez utiliser la fonction strconv.Atoi pour convertir une chaîne en nombre et gérer les erreurs si la conversion échoue.

JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel JavaScript et WebSocket : créer un système efficace de prévisions météorologiques en temps réel Dec 17, 2023 pm 05:13 PM

JavaScript et WebSocket : Construire un système efficace de prévisions météorologiques en temps réel Introduction : Aujourd'hui, la précision des prévisions météorologiques revêt une grande importance pour la vie quotidienne et la prise de décision. À mesure que la technologie évolue, nous pouvons fournir des prévisions météorologiques plus précises et plus fiables en obtenant des données météorologiques en temps réel. Dans cet article, nous apprendrons comment utiliser la technologie JavaScript et WebSocket pour créer un système efficace de prévisions météorologiques en temps réel. Cet article démontrera le processus de mise en œuvre à travers des exemples de code spécifiques. Nous

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP Jan 05, 2024 pm 06:08 PM

Tutoriel JavaScript : Comment obtenir le code d'état HTTP, des exemples de code spécifiques sont requis Préface : Dans le développement Web, l'interaction des données avec le serveur est souvent impliquée. Lors de la communication avec le serveur, nous devons souvent obtenir le code d'état HTTP renvoyé pour déterminer si l'opération a réussi et effectuer le traitement correspondant en fonction de différents codes d'état. Cet article vous apprendra comment utiliser JavaScript pour obtenir des codes d'état HTTP et fournira quelques exemples de codes pratiques. Utilisation de XMLHttpRequest

Conversion de type implicite : une exploration de différentes variantes de types et de leurs applications en programmation Conversion de type implicite : une exploration de différentes variantes de types et de leurs applications en programmation Jan 13, 2024 pm 02:54 PM

Explorez les différents types de conversions de types implicites et leur rôle dans la programmation Introduction : En programmation, nous devons souvent traiter différents types de données. Parfois, nous devons convertir un type de données en un autre type afin d'effectuer une opération spécifique ou de répondre à des exigences spécifiques. Dans ce processus, la conversion de type implicite est un concept très important. La conversion de type implicite fait référence au processus dans lequel le langage de programmation effectue automatiquement une conversion de type de données sans spécifier explicitement le type de conversion. Cet article explorera les différents types de conversions de types implicites et leur rôle dans la programmation,

See all articles