Setup:
If you use VS code (or if you see the tsconfig.json file):
You need to add the lib property to your tsconfig.json and then your editor will use the type definitions of the associated typing, and also give you intellisense.
Just add "lib": ["es2015", "es2017", "dom"] to your tsconfig.json and restart VS Code
{ "compilerOptions": { // ... "target": "es5", "lib": ["es2015", "es2017", "dom"] // ... } }
See all tsconfig.json options here .
If you are using Visual Studio or MSBuild, include this tag:
<TypeScriptLib>es2015, es2017, dom</TypeScriptLib>
See all MSBuild typescript compiler options and their use here .
Check your work:
If you configured your project to use built-in types and restarted your editor, then your resulting type will look like this, and not a type like any when you use Object.assign :

A note on polyfills and compatibility with older browsers
Note that if you upgrade to ES5 or lower and focus on IE11, you will need to enable polyfiles because the typewriter will not include polyfiles for you.
If you want to enable polyphiles (which follows), I would recommend using core-js polyphiles.
npm install --save core-js
Then at the entry point in your application (e.g. /src/index.ts ) add an import for core-js at the top of the file:
import 'core-js';
If you are not using npm you can simply paste the next polyfill, taken from MDN, to some place in your code that is executed before using Object.assign .
if (typeof Object.assign != 'function') { // Must be writable: true, enumerable: false, configurable: true Object.defineProperty(Object, "assign", { value: function assign(target, varArgs) { // .length of function is 2 'use strict'; if (target == null) { // TypeError if undefined or null throw new TypeError('Cannot convert undefined or null to object'); } var to = Object(target); for (var index = 1; index < arguments.length; index++) { var nextSource = arguments[index]; if (nextSource != null) { // Skip over if undefined or null for (var nextKey in nextSource) { // Avoid bugs when hasOwnProperty is shadowed if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { to[nextKey] = nextSource[nextKey]; } } } } return to; }, writable: true, configurable: true }); }