ugrás a tartalomhoz

Nem értem és nem találom - !!this

Mikulasche · 2016. Dec. 1. (Cs), 11.19
Működik csak nem értem mit jelent
var files = !!this.files ? this.files : [];

A KÉT FELKIÁLTÓJELET NEM ÉRTEM.

képfeltöltésnél, betallózáskor használom
previewhoz

A teljes kód:
var files = !!this.files ? this.files : [];
var reader = new FileReader();
reader.readAsDataURL(files[0]); // beolvassa a helyi file-t

reader.onloadend = function(){
$("#upload_preview").html('<_img src="'+this.result+'" width="100%"_>');
}

Valaki homályosítson fel !
Köszi.
 
1

Típuskényszerítés

asam9 · 2016. Dec. 1. (Cs), 12.07
Az adott értéket boolean típusúra változtatja.

Pl.:

undefined => false
null => false
NaN => false
'' => false
0 => false
'0' => true
1 => true
'a' => true

stb...
2

Ha a this.files értéke

Poetro · 2016. Dec. 1. (Cs), 12.27
Ha a this.files értéke "igazszerű", akkor a files értéke this.files lesz, egyébként üres tömb.
Egyébként ebben az esetben a !! teljesen felesleges, a kiértékelésnek ugyan az lesz az eredménye.

Az első ! az értéket negálja, azaz igazból hamis és hamisból igaz lesz. A második ! pedig a negálást negálja. Az értelme az, hogy biztosan boolean értéket kapjál.
123 == true
123 !== true
!123 === false
!!123 === true
3

THX

Mikulasche · 2016. Dec. 1. (Cs), 13.07
KÖSZ KÖSZ KÖSZ KÖSZ !!!!!!

én is erre gyanakodtam, hogy kettős tagadás