Bagaimana untuk memahami =, == dan === dalam JavaScript
迷茫
迷茫 2017-06-30 09:58:46
0
6
981

Bagaimana untuk memahami =, == dan === dalam JavaScript, dan bagaimana untuk menjelaskan hubungan antara ketiga-tiga ini?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(6)
大家讲道理

= : operasi tugasan

==: Digunakan untuk menilai sama ada dua nilai adalah sama, tetapi penghakiman di sini adalah hasil daripada penukaran tersirat. Contohnya

1 == '1';  // true
1 == true; // true
0 == false; // true

===: Ia juga digunakan untuk menilai sama ada dua nilai adalah sama, tetapi tidak ada proses penukaran tersirat, tetapi penghakiman langsung, jadi ia juga dipanggil kesamaan/kongruen mutlak.

1 === '1';  // false
1 === true; // false
0 === false; // false

1 Untuk jenis asas seperti rentetan dan nombor, terdapat perbezaan antara == dan ===

  • Perbandingan antara jenis yang berbeza, == membandingkan "nilai yang ditukar kepada jenis yang sama" untuk melihat sama ada "nilai" adalah sama, ===jika jenis berbeza, hasilnya akan menjadi tidak sama

  • Perbandingan jenis yang sama, perbandingan "nilai" langsung, hasilnya akan sama

2 Untuk jenis lanjutan seperti Array dan Object, tiada beza antara == dan ===

Lakukan perbandingan "alamat penunjuk"

3 Terdapat perbezaan antara jenis asas dan jenis lanjutan, == dan ===

  • Untuk ==, tukar jenis lanjutan kepada jenis asas dan lakukan perbandingan "nilai"

  • Sebab jenis berbeza, hasil === adalah palsu

我想大声告诉你

'=': bermaksud tugasan,

var a = 1,
    b = 2;
return a = b;    //返回2,为a赋值b,即a为2

'==': Tentukan sama ada nilai adalah sama, bukan jenisnya

var a = 1,
    b = '1';
return a == b;    //返回true

'===': pertimbangan yang tepat, bukan sahaja nilai tetapi juga jenis

var a = 1,
    b = '1';
return a === b;    //返回false

1 Untuk jenis asas seperti rentetan dan nombor, terdapat perbezaan antara == dan ===

  • Perbandingan antara jenis yang berbeza, == membandingkan "nilai yang ditukar kepada jenis yang sama" untuk melihat sama ada "nilai" adalah sama, ===jika jenis berbeza, hasilnya akan menjadi tidak sama

  • Perbandingan jenis yang sama, perbandingan "nilai" langsung, hasilnya akan sama

2 Untuk jenis lanjutan seperti Array dan Object, tiada perbezaan antara == dan === untuk perbandingan "alamat penunjuk"

.

3 Terdapat perbezaan antara jenis asas dan jenis lanjutan, == dan ===

  • Untuk ==, tukar jenis lanjutan kepada jenis asas dan lakukan perbandingan "nilai"

  • Sebab jenis berbeza, hasil === adalah palsu

学习ing

= ialah pengendali tugasan

let a=b // 将值b赋给变量a

== dan === ialah pengendali perbandingan

a == b 比较a与b值是否相等
a === b 比较a与b是否全等,值和类型都要相同
学霸

== akan melakukan penukaran jenis data tersirat, === tidak, ia hanya membandingkan sama ada kedua-dua belah pihak benar-benar sama
http://www.softwhy.com/articl...

仅有的幸福
  1. "=" digunakan untuk menetapkan nilai, menetapkan nilai secara langsung.

  2. Pengendali "==" akan menukar dahulu dan kemudian beroperasi.

  3. "==="Sama sekali, sama hanya jika nilai dan jenis di kedua-dua belah adalah sama.

巴扎黑

Gunakan sebanyak mungkin === ==Mudah ada masalah

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan