What is the difference between window.location.assign() and window.location.replace(), when both redirect to a new page?


Using window.location.assign("url") will just cause a new document to load. Using window.location.replace("url") will replace the current document and replace the current History with that URL making it so you can't go back to the previous document loaded.

Reference: http://www.exforsys.com/tutorials/javascript/javascript-location-object.html


The difference is how history is handled. "Replace" won't give you history, "assign" will.


According to MDN:


  1. location.assign():

    to assign route path by passing path into it.. Assign will give you an history even after path was assigned.

    Usage Method: value should be pass into it.

    Eg: location.assign("http://google.com")


  1. location.replace():

    it will helps to replace path if you dont want to keep history. it wont give you an history once you replace its path.

    Usage Method: value should be pass into it.

    Eg: location.replace("http://google.com")


Your Answer

