### Version 3.1.6 ### Reproduction link [http://shorturl.at/ixJQ5](http://shorturl.at/ixJQ5) ### Steps to reproduce ``` this.$router.push({ ...this.$route, params: { newParam: true } }) ``` With typescript, it breaks. ### What is expected? Route and Location types are compatible. ### What is actually happening? As Route now have the name parameter with `string | null | undefined` it breaks the navigation, as `Location` will only accept `string | undefined` as name. --- Commit causing the issue: https://github.com/vuejs/vue-router/commit/8f831f28f33bb766d5baaabc8b2daff259f3d45b <!-- generated by vue-issues. DO NOT REMOVE -->