var arr:number[ ] = [11,22,33];
var arr:Array<number> = [11,22,33];
Tuple
var arr: [number,string ] = [11, '33'];
Define an array with setting type, then it is any type
Enum
enum Flag { success =1 , error = 2};
let s: Flag = Flag.success;
console.log(s); // 1
enum Color {blue, red,'orange'}
console.log(Color.red); // 1
enum Color {blue, red = 3,'orange'}
console.log(Color.red); // 3
console.log(Color.orange); // 4
null and undefined
subtype of never
var num:number;
console.log(num); // undefined, error
var num:undefined;
console.log(num); // no error
var num:number | undefined;
console.log(num); // undefined, in order to no error
never
var a:never;
a = ( ( )=>{
throw new Error('this is an Error');
} )
Object
object is a type that represents the non-primitive type, i.e. anything that is not number, string, boolean, symbol, null, or undefined.
With object type, APIs like Object.create can be better represented.
declare function create(o: object | null): void;
create({ prop: 0 }); // OK
create(null); // OK
create(42); // Error
create("string"); // Error
create(false); // Error
create(undefined); // Error
Array
Tuple
Define an array with setting type, then it is
any
typeEnum
null and undefined
subtype of
never
never
Object
object is a type that represents the non-primitive type, i.e. anything that is not number, string, boolean, symbol, null, or undefined.
With object type, APIs like Object.create can be better represented.