window.location.assign give the current window a new URL value. window.open will open a new window (which may or may not be in a new tab) depending on the value of the passed URL.
This is the difference between creating a new window and editing an existing window.
source share