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. website erstellen lassen hamburg Avatar

    Great article! I really appreciate the clear insights you shared – it shows true expertise. As someone working in this field, I see the importance of strong web presence every day. That’s exactly what I do at https://webdesignfreelancerhamburg.de/ where I help businesses in Hamburg with modern, conversion-focused web design. Thanks for the valuable content!

  10. klining_cfmn Avatar

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

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

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

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

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

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

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

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

Leave a Reply to icynene UK Cancel reply

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