Explicit Type

let a: boolean

Type Aliases

type aliases are used to assign a name for any type. It doesn't create a new type. Instead, it provides a name for the type.

const playerNico: {
		name: string,
		age?: number
} = {
		name: "nico"
}

const playerLynn: {
		name: string,
		age?: number
} = {
		name: "lynn",
		age: 12
}
type Player = {
		name: string,
		age?: number
}

const nico: Player = {
		name: "nico"
}
const lynn: Player = {
		name: "lynn",
		age: 12
}

Return type of function

function playerMaker(name: string): Player {
		return {
				name: name
		}
}
// **Arrow function
const playerMaker = (name: strint): Player => ({name: name})

const nico = playerMaker("nico")
nico.age = 12

**Arrow function

Arrow functions are anonymous functions i.e. functions without a name and are not bound by an identifier. Arrow functions do not return any value and can be declared without the function keyword. They are also called Lambda Functions.

Syntax: const gfg = () => { console.log( "Hi Geek!" ); }

Readonly

const numbers: readonly number[] = [1, 2, 3, 4]
numbers.push(1) // ❌

Tuple

const player: readonly [string, number, boolean] = ["nico", 1, true]