Most cameras put EXIF in the photos and there's a spec (EXIF 2.2 or TIFF6.0) for defining the default tags. Manufacturers always use the standard tags (ImageWidth, ISO, FocalLength, Orientation, etc...) and only add their own for additional data that doesn't fit any standard tags but. You don't need to worry that they would use proprietary tag instead of one already covered in the EXIF standard. I.e., if you can't find ImageWidth, don't worry about looking for PhotoWidth or anything else. The width info just isn't in the photo in this case.
You can also encounter some data stored in different data structures entirely - such as XMP (XML format, mostly used in panoramas or drone photos), ICC (color profiles), IPTC (descriptions, author info, copyright, etc...)
Also. I'd like to offer alternative library exifr. I've written it because exif-js is pretty much dead now (left unmaintained for over 2 years now) and it's ineffective. Whereas exifr was built to be super efficient, supports all the aforementioned data segments, the new HEIC file format, and more...
You can also try out the library's playground and experiment with images and their output, or check out the repository and docs.