Maison  >  Article  >  interface Web  >  Résumer les quatre situations de conversion de type implicite JavaScript

Résumer les quatre situations de conversion de type implicite JavaScript

巴扎黑
巴扎黑original
2018-05-14 11:26:481251parcourir

L'éditeur suivant vous présentera un résumé des quatre situations dans lesquelles la conversion de type implicite JavaScript existe (un article à lire absolument). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil.

Généralement, il existe quatre situations où JavaScript convertira le type de données de la variable.

Répertoire

* if中的条件会被自动转为Boolean类型
 * 会被转为false的数据
 * 会被转为true的数据
* 参与+运算都会被隐式的转为字符串
 * 会被转为空字符串的数据
 * 会被转为字符串的数据
 * 会被转为数据类型标记的数据
* 参与*运算都会被隐式的转为数字
 * 会被转为0的数据
 * 会被转为1的数据
 * 会被转为NaN的数据
* == 运算符
 * 为true的时候
 * 为false的时候

Les conditions dans if seront automatiquement converties en type booléen

seront Les données converties en faux

if(false) console.log(2333)
if('') console.log(2333)
if(null) console.log(2333)
if(undefined) console.log(2333)
if(NaN) console.log(2333)

seront converties en vrai. Les données

if(true) console.log(2333) // 2333
if('test') console.log(2333) // 2333
if([]) console.log(2333) // 2333
if({}) console.log(2333) // 2333

qui participent à l'opération + le seront. être implicitement Convertir en chaîne

Les données seront converties en chaîne vide

'str-' + '' // str-
'str-' + []

Les données seront converties en chaîne

'str-' + '1' // "str-1"
'str-' + 1 // "str-1"
'str-' + false // "str-false"
'str-' + true // "str-true"
'str-' + null // "str-null"
'str-' + undefined // "str-undefined"
'str-' + NaN // "str-NaN"

seront convertis en données marquées par type de données

'str-' + {} // "str-[object Object]"
'str-' + {a:1} // "str-[object Object]"

La participation aux opérations * sera implicitement convertie en nombres

Données qui seront converties en 0

2 * '' // 0
2 * [] // 0
2 * false // 0

Données qui seront converties en 1

2 * '1' // 2
2 * [1] // 2
2 * true // 2

Données qui seront converties en NaN

2 * {} // NaN
2 * {a:1} // NaN

== l'opérateur

est vrai quand

0 == false // true
0 == '' // true
0 == '0' // true
0 == [] // true
0 == [0] // true

1 == true // true
1 == '1' // true
1 == [1] // true

[1] == true // true
[] == false // true

est faux,

0 == {} // false
0 == null // false
0 == undefined // false
0 == NaN // false

1 == {} // false
1 == null // false
1 == undefined // false
1 == NaN // false

[] == [] // false
[1] == [1] // false
[1] == {} // false
[1] == {a:1} // false
[1] == false // false
[1] == null // false
[1] == undefined // false
[1] == NaN // false

{} == {} // false
{a:1} == {a:1} // false

Remarque : tableau vide[], dans l'opérateur + Ce qui suit est converti à la chaîne vide '', et l'opérateur * est converti en nombre 0. Mais dans l'instruction if, cela devient vrai.

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