Perbedaan Operator perbandingan == dan === dalam javaScript
JavaScript memiliki 2 operator untuk membandingkan dua buah nilai, yaitu:
- Strict Equality Operator
===
. Operator yang ketat, lurus, tanpa basa-basi. - Lenient (Normal) Equality Operator
==
. Lebih sabar, bisa memaafkan kesalahan programer saat membandingkan 2 tipe data yang berbeda.
Perbedaannya adalah yang pertama hanya mempertimbangkan jika 2 buah nilai yang dibandingkan meiliki tipe data yang sama, selain itu maka bernilai false
. Sedangkan yang kedua akan memaksakan konversi nilai yang berbeda sebelum membandingkannya seperti pada tipe pertama.
Semua programer JavaScript sepakat untuk hanya menggunakan tipe pertama. Alasannya karena konversi otomatis mungkin menimbulkan hasil yang tidak dikehendaki. Karena sifat pemaafnya ini, kesalahan yang dibuat sang programer akan tersembunyi sampai akhirnya timbul masalah.
Strict Equal ===
Membandingkan 2 buah nilai yang berbeda tipe datanya dengan operator ===, sudah pasti bernilai false
. Jika kedua buah nilai memiliki tipe data yang sama, pernyataan-pernyataan di bawah ini akan bernilai true
.
undefined === undefined
null === null
x === x
+0 === -0
false === false
NAN !== NAN
Nilai nol (0) baik positif atau negatif adalah sama nilainya. Untuk NAN
, tidak bisa dibandingkan dengan nilai apapun termasuk dengan nilai NAN
sendiri. Tipe data string
dan number
dibandingkan seperti biasa.
Equal ==
Membandingkan 2 buah nilai, jika keduanya memiliki tipe data sama, bandingkan dengan ‘===’. Selain itu:
undefined == null
number
dibandingkan denganstring
, konversistring
kenumber
boolean
dibandingkannon-boolean
, konversiboolean
kenumber
, kemudian bandingkan (angka 0 bernilaifalse
, 1true
)- membandingkan
string
ataunumber
denganobject
, konversiobject
ke tipe data primitif, kemudian bandingkan
Contoh-contoh yang sering dijumpai:
0 == false //true 1 == true //true 2 == true //false 2 ? true : false //true, karena 2 !== 0 "" == 0 //true "" == false //true 1 == "1" //true "1" == true //true "2" == true //false "true" == true //false "2" ? true : false //true, karena string tidak kosong "abc" == new String("abc") //true, tipe object dikonversi ke tipe primitif string
Satu yang agak membingunkan di atas adalah pada pernyataan if
atau pada operator ternary, angka lebih besar dari 1 bernilai true
, namun bernilai false
dalam perbandingan.
Berikut ini adalah beberapa contoh perbandingan dengan ‘==’ yang terkenal membingungkan dan dapat menimbulkan kesalahan.
'' == '0' // false 0 == '' // true 0 == '0' // true false == 'false' // false false == '0' // true null == undefined // true false == undefined // false false == null // false ' \t\r\n ' == 0 // true
Sumber: http://www.2ality.com/2011/06/javascript-equality.html
oh gitu rupanya gan, TQ
Thankfulness to my father who told me concerning this website, this web site is really amazing.
Superb, what a web site it is! This webpage gives helpful data to us, keep
it up.
I think this is one of the most impkrtant info for
me. And i’m glad reading your article. But should remark on few general things, The web site style is perfect, the articles is really excellent : D.
Good job, cheers
As I website possessor I think the articles here is really superb, thanks
for your efforts.
Appreciare this post. Let me try itt out.
It’s remarkable in support of me to have a site, which
is useful designed for my know-how. thanls admin
That is a really good tip particularly to those fresh to the blogosphere.
Short but very accurate information… Appreciate your saring this one.
A must read article!
I have been absent for some time, butt now I remember why I uused to love this
website. Thank you, I will try and check back more frequently.
How frequently youu update your web site?
My blog post ornamental cherry tree Totnes
در مورد مقاطع دانشگاهی هم باید بگوییم که امکان دریافت بورسیه در مقطع کارشناسی در استرالیا تقریبا غیرممکن است. بنابراین فکر تحصیل رایگان با دریافت بورسیه در مقطع کارشناسی را باید از سر بدر کنید.
شاید از این جمله ناراحت و ناامید شدهاید. اما حقیقت امر این است که این بورسیهها اغلب برای دانشجویان کشورهای توسعهیافته و پیشرفته ارائه میشود.
بورسیه تحصیلی استرالیا در مقطع کارشناسی، دارای شرایط ویژه است. این بورسیهها اغلب برای دانشجویان کشورهای توسعه یافته و پیشرفته ارائه میشود. دلیل اصلی خاص بودن این کمک هزینهها، محدود بودن و رقابتی بودن آنها است. بورسیهای که به دانشجویان کشورهای مختلف داده میشود، متفاوت است.
← Previous Post
Cari Catatan Saya
Catatan Terbaru
Kategori
Blogroll
Arsip
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
© 2024 Sibudi </>. Theme: Ari by Elmastudio. Proudly powered by WordPress.