Adakah 0 dan -0 Dianggap Sama dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-11-20 14:39:22
asal
913 orang telah melayarinya

Are  0 and -0 Considered Equal in JavaScript?

Adakah 0 dan -0 sama dalam JavaScript?

Walaupun terdapat perbezaan yang dibuat dalam spesifikasi ECMAScript 5.1, 0 dan -0 menilai kepada benar menggunakan kesaksamaan yang ketat dalam JavaScript.

Mengapa ini?

JavaScript menggunakan standard IEEE 754 untuk perwakilan berangka. Mengikut piawaian ini, sifar yang ditandatangani boleh wujud dalam dua bentuk: 0 (sifar positif) dan -0 (sifar negatif). Walau bagaimanapun, pembahagian dengan 0 atau -0 menghasilkan ∞ dan -∞, masing-masing, bukannya tidak ditentukan.

Secara teknikal, perbezaan antara 0 dan -0 ini adalah penting. Walau bagaimanapun, JavaScript memberikan pengecualian dalam algoritma kesamaan ketatnya. Bahagian 11.9.6 dengan jelas menyatakan bahawa 0 dan -0 dianggap sama dalam perbandingan kesamaan yang ketat.

Pengecualian ini sejajar dengan tanggapan logik untuk menganggap 0 dan -0 sebagai setara. Selain itu, ia memudahkan pembangunan dengan menghapuskan keperluan untuk mempertimbangkan perbezaan ini dalam kod.

Nota:

ES2015 memperkenalkan Object.is sebagai kaedah perbandingan baharu. Tidak seperti pengendali kesaksamaan yang longgar dan ketat, Object.is dengan jelas membezakan antara 0 dan -0:

Object.is(-0, +0); // false
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah 0 dan -0 Dianggap Sama dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan