Here are a few examples of values that we can assign to a variable of type any: let value : any This makes any a top type (also known as a universal supertype) of the type system.
In TypeScript, every type is assignable to any. It represents all possible JavaScript values - primitives, objects, arrays, functions, errors, symbols, what have you.
The any type has been in TypeScript since the first release in 2012. Let's first look at the any type so that we can better understand the motivation behind introducing the unknown type. For a comprehensive code example showing the semantics of the unknown type, check out Anders Hejlsberg's original pull request. This post focuses on the practical aspects of the unknown type, including a comparison with the any type. The main difference between unknown and any is that unknown is much less permissive than any: we have to do some form of checking before performing most operations on values of type unknown, whereas we don't have to do any checks before performing operations on values of type any. TypeScript 3.0 introduced a new unknown type which is the type-safe counterpart of the any type. The unknown Type in TypeScript May 15, 2019