Invert Z axis of camera.getWorldDirection

Hello, Im not certain how to correctly express my problem here, but basically Im using getWorldDirection and invert the Z axis with direction.z *= -1, however this does not work properly when moving outside 0, 0, 0, since when I turn to the right by 90deg for example, now Im inverting something completely else as its a THREE.Vector3() and not a real direction. I tried using .applyAxisAngle( new THREE.Vector3( 1, 0, 0 ), Math.PI ) but that yielded the same result as just inverting the Z axis. When I copy the direction with a -1, 0, 0 Vector3 it does nothing. I really dont want to do calculations based on the coordinates as I think there surely is a better way to go about it.

Camera forward vector can be calculated like so:

const forward = new THREE.Vector3(0.0, 0.0, -1.0).applyQuaternion(camera.quaternion);

then you can negate this vector:

const backward = forward.negate();