Rumah > hujung hadapan web > tutorial js > Mengapa ' ' Menggabungkan Rentetan Tetapi '-' Menolak Nombor dalam JavaScript?

Mengapa ' ' Menggabungkan Rentetan Tetapi '-' Menolak Nombor dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-11-24 00:05:14
asal
459 orang telah melayarinya

Why Does ' ' Concatenate Strings But '-' Subtracts Numbers in JavaScript?

Gelagat Mencapah Operator ' ' dan '-' dengan Rentetan dan Nombor dalam JavaScript

JavaScript mempamerkan tingkah laku yang membingungkan apabila melakukan operasi matematik antara rentetan dan nombor. Secara khusus, kelakuan pengendali ' ' dan '-' berbeza-beza bergantung pada jenis operan yang terlibat.

Mari kita teliti dua contoh untuk menggambarkan pemerhatian ini:

  1. Penggabungan Rentetan ( ):

    console.log("1" + 1);
    Salin selepas log masuk

    Output: "11"

  2. Tolak Nombor (-):

    console.log("1" - 1);
    Salin selepas log masuk

    Output: 0

Penaakulan:

  1. Penggabungan Rentetan: Pengendali ' ' melakukan penggabungan rentetan apabila salah satu daripada operan ialah rentetan. Dalam contoh pertama, "1" ialah rentetan, jadi JavaScript menukar angka 1 kepada rentetan dan menggabungkannya, menghasilkan "11".
  2. Penolakan Nombor: Sebaliknya , operator '-' tidak boleh melakukan penolakan pada rentetan. Sebaliknya, JavaScript cuba menukar operan rentetan ("1" dalam contoh kedua) kepada nombor. Penukaran ini berjaya kerana "1" boleh ditafsirkan secara sah sebagai nilai angka. Walau bagaimanapun, hasil penolakan 1 daripada 1 menghasilkan 0.

Tingkah laku ini berpunca daripada fakta bahawa JavaScript mematuhi paradigma "menaip longgar", di mana paksaan jenis dilakukan secara automatik untuk menjadikan operasi serasi. Walau bagaimanapun, dalam kes pengendali dan rentetan '-', paksaan jenis tidak boleh digunakan, yang membawa kepada tingkah laku yang diperhatikan.

Atas ialah kandungan terperinci Mengapa ' ' Menggabungkan Rentetan Tetapi '-' Menolak Nombor 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