Perbedaan Operator perbandingan == dan === dalam javaScript

JavaScript memiliki 2 operator untuk membandingkan dua buah nilai, yaitu:

  1. Strict Equality Operator ===. Operator yang ketat, lurus, tanpa basa-basi.
  2. 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:

  1. undefined == null
  2. number dibandingkan dengan string, konversi string ke number
  3. boolean dibandingkan non-boolean, konversi boolean ke number, kemudian bandingkan (angka 0 bernilai false, 1 true)
  4. membandingkan string atau number dengan object, konversi object 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

Comments

11 responses to “Perbedaan Operator perbandingan == dan === dalam javaScript”

  1. audio shalat Avatar

    oh gitu rupanya gan, TQ

    1. Sibudi Avatar
  2. nap ho ga gang Avatar

    Thankfulness to my father who told me concerning this website, this web site is really amazing.

  3. nap ho ga gang Avatar

    Superb, what a web site it is! This webpage gives helpful data to us, keep
    it up.

  4. SEO UK Avatar

    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

  5. wooden ipad kitchen stand Avatar

    As I website possessor I think the articles here is really superb, thanks
    for your efforts.

  6. Shanna Avatar

    Appreciare this post. Let me try itt out.

  7. icynene UK Avatar

    It’s remarkable in support of me to have a site, which
    is useful designed for my know-how. thanls admin

  8. G1 written test Avatar

    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!

  9. seo_nnOl Avatar

    Если вы ищете эффективный способ улучшить позиции своего сайта в поисковых системах, то курсы сео станут идеальным решением для вас.
    являются эффективным способом улучшения позиций сайта в поисковых системах . Это означает, что участники таких курсов получат практические навыки по оптимизации сайтов . SEO курсы базируются на практическом опыте преподавателей .

    SEO курсы включают изучение ключевых факторов, влияющих на позиции сайта в поисковых системах . Это особенно важно для маркетологов, желающих расширить свой набор инструментов . Участники SEO курсов получают доступ к необходимым инструментам и ресурсам для SEO .

    Преимущества SEO курсов заключаются в получении глубоких знаний по оптимизации сайтов для поисковых систем . Это означает, что участники курсов могут оптимизировать сайты для повышения их видимости в поисковых системах . SEO курсы включают практические занятия по оптимизации сайтов .

    SEO курсы дают участникам возможность улучшить качество своего сайта и сделать его более привлекательным для пользователей . Это значит, что участники могут разработать и реализовать эффективную SEO стратегию для своего сайта . Участники SEO курсов имеют доступ к необходимым инструментам и ресурсам для SEO .

    Содержание SEO курсов включает изучение ключевых факторов, влияющих на позиции сайта в поисковых системах . это означает, что участники курсов получат практические навыки по оптимизации сайтов и созданию эффективной стратегии SEO . SEO курсы включают изучение технической оптимизации сайта и ее влияния на позиции в поисковых системах .

    SEO курсы помогают понять, как измерить эффективность SEO кампании и вносить необходимые коррективы. Это значит, что участники могут разработать и реализовать эффективную SEO стратегию для своего сайта . Участники SEO курсов могут общаться с преподавателями и другими участниками для обмена опытом и знаниями .

    Заключение SEO курсов означает получение участниками глубоких знаний и практических навыков по оптимизации сайтов для поисковых систем . Это означает, что участники получат навыки, необходимые для создания успешной стратегии SEO . SEO курсы включают практические занятия по оптимизации сайтов .

    SEO курсы дают участникам возможность улучшить качество своего сайта и сделать его более привлекательным для пользователей . Это значит, что участники научатся анализировать результаты своих усилий и улучшать позиции своего сайта в поисковых системах . Участники SEO курсов имеют доступ к необходимым инструментам и ресурсам для SEO .

  10. nerudnye_koSr Avatar

    Компания специализируется на доставка нерудных материалов, что делает ее лидером в сфере поставок сыпучих материалов для строительной отрасли.
    являются важной частью строительной индустрии . Они используются в производстве строительных материалов . Кроме того, нерудные материалы должны соответствовать определенным стандартам качества .

    Нерудные материалы могут быть использованы в различных условиях. Они могут быть применены в различных сферах промышленности . Кроме того, нерудные материалы должны быть выбраны с учетом требований проекта .

    Нерудные материалы могут быть классифицированы по своим свойствам и характеристикам . Они могут быть использованы для создания уникальных дизайнов. Кроме того, нерудные материалы должны быть выбраны с учетом требований проекта .

    Нерудные материалы такие как песок, гравий и щебень . Они могут быть использованы для создания уникальных дизайнов . Кроме того, нерудные материалы должны быть использованы с учетом их свойств и характеристик .

    Нерудные материалы могут быть использованы в различных условиях. Они могут быть применены в различных отраслях промышленности . Кроме того, нерудные материалы должны быть безопасны для использования.

    Нерудные материалы имеют свои уникальные свойства и характеристики . Они могут быть применены в различных сферах промышленности . Кроме того, нерудные материалы должны быть выбраны с учетом требований проекта .

    Нерудные материалы будут иметь большое значение для различных отраслей промышленности . Они могут быть использованы для создания инновационных решений. Кроме того, нерудные материалы должны быть выбраны с учетом требований проекта .

    Нерудные материалы будут иметь новые свойства и характеристики . Они могут быть использованы для создания уникальных дизайнов . Кроме того, нерудные материалы должны быть применены с учетом условий эксплуатации.

Leave a Reply to seo_nnOl Cancel reply

Your email address will not be published. Required fields are marked *