Rumah > Soal Jawab > teks badan
Bagaimana untuk memahami =, == dan === dalam JavaScript, dan bagaimana untuk menjelaskan hubungan antara ketiga-tiga ini?
大家讲道理2017-06-30 10:00:46
=
: 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
我想大声告诉你2017-06-30 10:00:46
'=': 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
学习ing2017-06-30 10:00:46
= ialah pengendali tugasan
let a=b // 将值b赋给变量a
== dan === ialah pengendali perbandingan
a == b 比较a与b值是否相等
a === b 比较a与b是否全等,值和类型都要相同
欧阳克2017-06-30 10:00:46
== akan melakukan penukaran jenis data tersirat, === tidak, ia hanya membandingkan sama ada kedua-dua belah pihak benar-benar sama
http://www.softwhy.com/articl...
仅有的幸福2017-06-30 10:00:46
"=" digunakan untuk menetapkan nilai, menetapkan nilai secara langsung.
Pengendali "==" akan menukar dahulu dan kemudian beroperasi.
"==="Sama sekali, sama hanya jika nilai dan jenis di kedua-dua belah adalah sama.