Maison > interface Web > js tutoriel > Comment convertir une valeur booléenne en js ?

Comment convertir une valeur booléenne en js ?

亚连
Libérer: 2018-06-19 14:04:25
original
3826 Les gens l'ont consulté

Cet article vous présente principalement la méthode de conversion de la valeur bool en js et les informations associées de "&&", "||", "!!". pour l'apprentissage de tous. Ou le travail a une certaine valeur de référence et d'apprentissage. Les amis qui en ont besoin peuvent venir jeter un œil ci-dessous.

Préface

La première chose que vous devez savoir est qu'il y a 6 valeurs​​en js qui sont fausses, à savoir : 0, '', null, undefined, NaN et false, les autres (y compris {}, [], Infinity) sont vrais.

Vous pouvez utiliser la fonction Boolean() ou annuler deux fois pour obtenir la valeur booléenne de l'objet, tel que Boolean(undéfini ) et !!undéfini peut également obtenir la valeur booléenne false,

Pour 0, '', null, undéfini, NaN, {}, [], Infinity, la valeur booléenne est faux faux faux faux faux vrai vrai vrai.

Donc, une chose que nous savons est la suivante : la valeur booléenne d'un objet est vraie, même s'il s'agit d'un objet {}.

conversion de valeur booléenne

数据类型 bool值转化
undefined undefined 转化为 false
Object null 转化为false,其他为 true
Boolean false 转化为 false,true 转化为 true
Number 0,NaN 转化为false,其他为 true
String "" 转化为 false,其他为 true

"&&"

L'algorithme de l'opérateur "&&" en JavaScript est le suivant :

Si la valeur de l'expression à gauche de && est vraie, la valeur de l'expression à droite side est renvoyé ; sinon, l'expression sur le côté gauche est renvoyée. La valeur de la formule. Lorsque plusieurs expressions && sont évaluées ensemble, la valeur de la première expression qui est évaluée comme fausse est renvoyée. Si toutes les expressions sont évaluées comme vraies, la valeur de l'expression la plus à droite est renvoyée.

const aa = {'name': 'xx'};
const bb = aa && aa.age; // bb输出为undefined;
let cc;
const dd = cc && cc.name ? cc.name : undefined; // dd输出为undefined
const dd = cc && cc.name; // dd输出为undefined;
Copier après la connexion

Les résultats d'exécution des deux phrases de code ci-dessus sont les mêmes. Lors de l'écriture de code auparavant, j'ai toujours utilisé la méthode ci-dessus, mais j'ai constaté que certains tests uniques ne pouvaient pas être couverts, ce qui entraînait un problème très important. faible couverture de branche de test unique.Modification La méthode suivante peut très bien résoudre ce problème. L'effet de ces deux phrases est le même.

"||"

L'algorithme de l'opérateur "||" en javascript est le suivant :

Si la valeur de l'expression du côté gauche de "||" est vraie, renvoie la valeur de l'expression du côté gauche ; sinon, renvoie la valeur de l'expression du côté droit. Lorsque plusieurs expressions "||" sont utilisées ensemble, la valeur de la première expression dont le résultat de l'opération est vrai est renvoyée, si les résultats de l'opération de toutes les expressions sont faux, sinon la valeur de l'expression la plus à droite est renvoyée.

const aa = false || 'xx'; // aa输出为'xx'
Copier après la connexion

"!!"

"!!" L'expression est forcée à être convertie en une valeur booléenne, et le résultat de l’opération est vrai ou faux.

const aa = 'xx';
const bb = !!aa; // bb输出为true
const cc = !!(NaN || undefined || null || 0 || '' ); // cc为false;
Copier après la connexion

J'ai compilé ce qui précède pour vous, j'espère que cela vous sera utile à l'avenir.

Articles connexes :

Implémentation d'une file d'attente de mise à jour asynchrone via nextTick() dans Vuejs

Comment implémenter un modèle 3D dans three.js

Tutoriel d'installation d'Angular CLI

Comment implémenter Toast à l'aide de ReactNative

Comment le faire en utilisant CommonsChunkPlugin Uniquement en extrayant les modules publics

peut-il y avoir des opérations complexes sur MVC dans AngularJS

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!

Étiquettes associées:
js
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal