Saya pernah melihat ini di beberapa tempat
function fn() {
return +new Date;
}
Dan saya dapat melihat bahwa itu mengembalikan timestamp daripada objek tanggal, tapi saya tidak dapat menemukan dokumentasi apa yang dilakukan tanda tambah.
Adakah yang bisa menjelaskan?
javascript
syntax
Ken
sumber
sumber
Jawaban:
itulah operator + unary, itu setara dengan:
lihat: http://xkr.us/articles/javascript/unary-add/
dan dalam MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators#Unary_plus
sumber
getTime
metode yang ditentukan pada objek tanggal ?!.getTime()
akan selalu memastikan itu.Date.now()
, yang merupakan cara yang disukai untuk mendapatkan tanggal dan waktu dalam milidetik.JavaScript diketik secara longgar, sehingga melakukan jenis paksaan / konversi dalam kondisi tertentu:
http://blog.jeremymartin.name/2008/03/understanding-loose-typing-in.html
http://www.jibbering.com/faq/faq_notes/type_convert.html
Contoh lain:
sumber
Tanggal JavaScript dapat ditulis sebagai string:
Kamis 10 Sep 2015 12:02:54 GMT + 0530 (IST)
atau sebagai nomor:
1441866774938
Tanggal ditulis sebagai angka, menetapkan jumlah milidetik sejak 1 Januari 1970, 00:00:00.
Datang ke pertanyaan Anda, itu menambahkan bahwa dengan menambahkan '+' setelah operator penugasan '=', mengubah Tanggal menjadi nilai angka yang sama.
hal yang sama dapat dicapai dengan menggunakan fungsi Number (), seperti Number (Date baru ());
sumber
Berikut adalah spesifikasi mengenai operator "unary add". Semoga ini bisa membantu ...
sumber
Sekadar memberi info:
Jika Anda ingat, Ketika Anda ingin menemukan perbedaan waktu antara dua Tanggal, Anda cukup lakukan sebagai berikut;
sekarang jika Anda memeriksa tipe d1-0, itu juga nomor:
+ yang juga akan mengonversi Tanggal ke Nomor:
Tapi catatan yang
0 + new Date()
akan tidak diperlakukan sama! itu akan digabungkan sebagai string:sumber
Ini adalah operator add unary dan juga digunakan untuk konversi Nomor eksplisit, jadi ketika Anda menelepon
+new Date()
, ia mencoba untuk mendapatkan nilai numerik dari objek yang menggunakanvalueOf()
seperti kita dapatkan string daritoString()
sumber
Itu melakukan hal yang persis sama dengan:
yang memiliki hasil yang sama dengan:
sumber
new Date/1