TypeScript Reference for JS developers Glossary of keywords, operators, statements and directives
declare ,
namespace
boolean ,
string ,
number ,
undefined ,
null
bigint ,
symbol ,
unique symbol
any ,
unknown ,
never ,
void
|
Array[] ,
Tuple[]
type ,
interface
enum
Type and Interface Properties
{
property?: Type
readonly property: Type
(...args): Type
new(s: Type)
[key: Type]: Type;
}
{ (this: Type): Type }
{ (...args: Type[]): Type }
Type Guards and Assertion Functions
is ,
asserts condition ,
asserts value is Type
overloads
!
as
as const
Type[key]
typeof
keyof
extends Type ? IfTrue : IfFalse
infer
& ,
extends ,
merging
{
[Property in keyof Type]: Type;
-readonly [Property in keyof Type]: Type[Property];
readonly [Property in keyof Type]: Type[Property];
[Property in keyof Type]-?: Type[Property];
[Property in keyof Type]?: Type[Property];
[Properties in keyof Type as NewKeyType]: Type[Properties]
}
interface NewType<Type>
type NewType<Type>
{ <Type>(arg: Type): Type }
class Class<Type>
<Type extends OtherType>
{
property?: Type
property!: Type
readonly property: Type
[key: Type]: Type
private property: Type
protected property: Type
declare property: Type
}
{
#property: Type
get property(): Type
set property(...args): Type
static property: Type
static {...}
}
Constructor Parameter Properties
{
constructor(parameter arg: Type)
}
implements
extends
abstract
@decorator class Class {
@decorator() property
@decorator method(...args) {...}
method(@decorator arg: Type) {...}
@decorator get accessor() {...}
@decorator set accessor(value) {...}
}
Awaited<Type>
Partial<Type>
Required<Type>
Readonly<Type>
Record<Keys, Type>
Pick<Type, Keys>
Omit<Type, Keys>
Exclude<UnionType, ExcludedMembers>
Extract<Type, Union>
NonNullable<Type>
Parameters<Type>
ConstructorParameters<Type>
ReturnType<Type>
InstanceType<Type>
ThisParameterType<Type>
OmitThisParameter<Type>
ThisType<Type>
Uppercase<StringType>
Lowercase<StringType>
Capitalize<StringType>
Uncapitalize<StringType>
Comment Directives
Enabling and Disabling Typescript
// @ts-ignore
// @ts-check
// @ts-nocheck
// @ts-expect-error
/// <reference path="..." />
/// <reference types="..." />
/// <reference lib="..." />
/// <reference no-default-lib="true"/>
/// <amd-module />
/// <amd-dependency />