Apa tujuan dari simbol plus sebelum variabel?

Jawaban:

312

The +Operator mengembalikan representasi numerik dari objek. Jadi, dalam kasus khusus Anda, tampaknya akan memprediksikan if pada apakah dangka tersebut bukan nol.

Referensi di sini . Dan, seperti yang ditunjukkan dalam komentar, di sini .

Paul Sonier
sumber
1
Tautan yang
berfungsi
Saya hanya ingin tahu mana yang lebih efisien, parse string ke integer menggunakan fungsi parseInt atau menggunakan operator plus?
acarlstein
1
Bagaimana bedanya .parseInt()?
Daniel W.
1
@acarlstein dari tautan MDN dalam jawaban: "Meskipun negasi unary (-) juga dapat mengkonversi non-angka, unary plus adalah cara tercepat dan yang disukai untuk mengubah sesuatu menjadi angka , karena ia tidak melakukan operasi lain pada nomor tersebut . " (hanya untuk jawaban "resmi")
AN
22

Ini adalah operator "+" unary yang menghasilkan ekspresi numerik. Itu akan sama dengan d*1, saya percaya.

kenaifan
sumber
12

Seperti yang dijelaskan dalam jawaban lain, ini mengubah variabel menjadi angka. Berguna khusus ketika d dapat berupa angka atau string fungsi yang mengevaluasi ke suatu angka.

Contoh (menggunakan addMonthsfungsi dalam pertanyaan):

addMonths(34,1,true);
addMonths("34",1,true);

maka +dakan dievaluasi ke nomor dalam semua kasus. Dengan demikian menghindari kebutuhan untuk memeriksa jenis dan mengambil jalur kode yang berbeda tergantung pada apakah dangka, fungsi atau string yang dapat dikonversi ke angka.

RubenLaguna
sumber
+dtidak akan mengevaluasi ke nomor dengan contoh doa tambahan addMonths
Gus Crawford
benar, saya tidak tahu apa yang saya lakukan ketika saya menulis ini. +function(){...}akan menghasilkan NaNtidak mengevaluasi fungsi
RubenLaguna
4
Bisakah Anda mengedit jawaban Anda untuk menghapus yang gila? Cukup membingungkan.
Buh Buh