Eşitlik
Bir program yazarken sık sık değişkenlerin diğer değişkenlere göre eşitliğini belirlememiz gerekir. Bu, bir eşitlik operatörü kullanılarak yapılır. En temel eşitlik operatörü == operatörüdür. Bu operatör, aynı türden olmasalar bile iki değişkenin eşit olup olmadığını belirlemek kullanılır.
Örneğin, varsayalım:
let foo = 42;
let bar = 42;
let baz = "42";
let qux = "life";
Bekleneceği gibi foo == bar true ve baz == qux false olarak değerlendirilecektir. Ancak, foo ve baz farklı türler olmasına rağmen foo == baz da true olarak değerlendirilecektir. Perde arkasında == eşitlik operatörü, eşitliklerini belirlemeden önce işlenenlerini aynı türe zorlamaya çalışır. Bu, === eşitlik operatörünün tersidir.
Eşitlik operatörü === iki değişkenin aynı tipte ve aynı değere sahip olmaları durumunda eşit olduğunu belirler. Daha önce olduğu gibi aynı varsayımlarla, bu foo === bar hala true olarak değerlendirileceği, ancak foo === baz artık false olarak değerlendirileceği anlamına gelir. baz === qux ise yine false olarak değerlendirilecektir.
let str1 = "hello"; let str2 = "HELLO"; let bool1 = true; let bool2 = 1; // compare using == let stringResult1 = str1 == str2 // false let boolResult1 = bool1 == bool2 // true // compare using === let stringResult2 = str1 === str2 // false let boolResult2 = bool1 === bool2 // false
assert(stringResult1 === false && stringResult2 === false && boolResult1 ==true && boolResult2 === false );