JavaScript - === vs == wydajność operatorów
Kilka tygodni temu przeczytałem ten wątekCzy <szybciej niż <=? o operatorach porównania wC
. Mówiono, że nie ma różnicy w wydajności pomiędzy<
i<=
ponieważ są one interpretowane jako te same / podobne polecenia maszynowe.
Jednocześnie w „najlepszych praktykach” naszej firmy mówiono, że zawsze powinniśmy używać „===”, aby porównywać rzeczy zamiast „==”. Zacząłem się więc zastanawiać, czy jest to zawsze właściwe, ponieważ jestem przyzwyczajony do używania „==” i „typeof ... ==” i nie chcę zmieniać mojego sposobu pisania: -]
Zauważ, że jest to w kontekście JavaScript.
Więc mam trochę badań i tutajKtóry równy operator (== vs ===) powinien być używany w porównaniach JavaScript? mówi się, że:
Dzieje się tak, ponieważ operator równości == wpisuje koercję ... co oznacza, że interpreter niejawnie próbuje przekonwertować wartości, a następnie dokonuje porównania.
Z drugiej strony, operator tożsamości === nie wykonuje przymusu typu, a zatem nie konwertuje wartości wartości podczas porównywania
Zacząłem się zastanawiać, czy to oznacza, że kiedy użyję operatora „===”, osiągnę dobrą wydajność, ponieważ żadne zasoby nie zostaną wydane na konwersję operandów. A kiedy cały kod zostanie zamieniony na polecenia maszynowe, czy to oznacza, że tak jak nie ma różnicyC
kiedy używasz<
i<=
, to samo w JavaScript i innych językach?