Camera position vs zoom vs fov

Well no, it’s the difference between having

var zoom = 1 
var fov = 45

function doStuff(){
  return fov / zoom
}

vs

var fov  = 45
function doStuff(zoom){
  zoom = zoom || 1
  return fov / zoom 
}

You could override your own setFOV method to use a private _zoom property, so that every time you set fov to something, it considers the zoom but i think this would be a pretty bad pattern, when you can probably already do something like

camera.fov = myFov / myZoom

and just keep zoom at 1. Think of it like a “digital zoom” some digital cameras have. Up to a point you can modify the lens, and then you can blow up the pixels themselves (the lens stays the same).