TypesOptional static type notationVariables, basic types, and operatorsVar, let, and constUnion typesType guardsType aliasesAmbient declarationsArithmetic operatorsComparison operatorsLogical operatorsBitwise operatorsAssignment operatorsFlow control statementsThe single-selection structure (if)The double-selection structure (if…else)The inline ternary operator (?)The multiple-selection structure (switch)The expression is tested at the top of the loop (while)The expression is tested at the bottom of the loop (do…while)Iterate on each object's properties (for…in)Counter controlled repetition (for)FunctionsClassesInterfacesNamespaces