Sven Rautenberg: Wo funktioniert (braucht man) "==" und nicht "==="

Beitrag lesen

Moin!

Om nah hoo pez nyeetz, tami!

Hast Du dazu ein Beispiel, wo "==" funktioniert aber nicht "==="?

0 == 0.0   //true

0 === 0.0  //false, da int != float

  
Das ist ein schlechtes Beispiel, weil man Floats sowieso nicht exakt vergleichen soll. Der akademische Einwand ist aber natürlich korrekt.  
  
Spannend wirds beim Vergleich von zwei Arrays oder zwei Objekten:  
  
Bei zwei Arrays prüft "==" lediglich, dass dieselben Keys und Values in beiden Arrays vorhanden sind. Mit "===" müssen diese aber außerdem noch in derselben Reihenfolge vorliegen und denselben Typ haben.  
  
Wenn es also nur darum geht, dass die Werte in Array 1, die ich über irgendeine Funktion eingesammelt habe, "gleich" dem Array 2 ist, ist der Vergleich mit "==" vermutlich schlauer, sofern mich die Reihenfolge nicht interessiert, und ich auf die interne Typprüfung verzichten kann.  
  
Bei Objekten ist es ganz ähnlich: Der strikte Vergleich ist nur dann wahr, wenn ich in den zwei Variablen zweimal dieselbe Instanz des Objekts stehen habe. Der Vergleich mit "==" hingegen ist wahr, wenn die zwei Objekte von derselben Klasse sind und ihre Eigenschaften gleich sind. Wobei anzumerken ist, dass hier vermutlich der Äquivalenzvergleich === häufiger anzutreffen ist, weil man vermutlich zum komplexeren Vergleich zweier Objekte sowieso eigenen Code schreiben muss. Die identische Instanz zu erkennen ist hingegen alternativlos.  
  
 - Sven Rautenberg
0 49

Gültigkeit von Variablen

Kenan
  • php
  1. 0
    dedlfix
    1. 0
      T-Rex
      1. 0
        dedlfix
        1. 0

          Gültigkeit von Variablen - Lesbarkeit und Konvention

          tami
          1. 0
            dedlfix
            1. 0
              tami
              1. 0
                dedlfix
                1. 0
                  tami
                  1. 0
                    dedlfix
                    1. 0

                      Lesbarkeit und Konvention in PHP und Javascript

                      tami
                      1. 0
                        dedlfix
                        1. 0
                          tami
                          1. 0
                            dedlfix
                            1. 0

                              Lesbarkeit und Konvention in PHP und Javascript "==" und "==="

                              tami
                              1. 0
                                dedlfix
                                1. 0
                                  tami
                                  1. 0
                                    dedlfix
                                    1. 0

                                      Lesbarkeit und Konvention .- "heile Welt ... zusammenlügen"

                                      tami
                                      1. 0
                                        dedlfix
                                  2. 0
                                    Sven Rautenberg
                                    1. 0
                                      tami
                                      1. 0
                                        tami
                                      2. 1
                                        Sven Rautenberg
                                        1. 0

                                          Wo funktioniert (braucht man) "==" und nicht "==="

                                          tami
                                          1. 0
                                            Matthias Apsel
                                            1. 0
                                              tami
                                            2. 1
                                              Sven Rautenberg
                                              1. 0

                                                "==" auch bei Arrays und Objekten "gefährlich" ...;

                                                tami
                                                1. 0
                                                  dedlfix
                                                  1. 0

                                                    "==" auch bei Arrays und Objekten "gefährlich"/fehleranfällig

                                                    tami
                                                    1. 0
                                                      dedlfix
                                                      1. 0
                                                        tami
                                                        1. 0
                                                          bubble
                                                          1. 0
                                                            tami
                                                            1. 0
                                                              dedlfix
                                                              1. 0
                                                                tami
                                                2. 2
                                                  Sven Rautenberg
                                                  1. 0

                                                    "==" bei Arrays "gefährlich"? Crockford on Programming Style...

                                                    tami
                                          2. 0
                                            Matthias Apsel
  2. 0
    tami
    1. 0
      dedlfix
      1. 0

        Gültigkeit von Variablen - Coding Style

        tami
        1. 0
          dedlfix
          1. 0
            tami
  3. 0
    Sven Rautenberg
    1. 0

      Variablen-Initialisierung mit "null" === Prinzipienbefriedigung?

      tami
      1. 0
        dedlfix
      2. 0
        Sven Rautenberg