Programming Language
TypeScript
Variables and Datatypes
Data Types

TypeScript DataTypes

TypeScript provides several built-in data types. Here is a comprehensive list of the data types available in TypeScript:

Boolean

The boolean type represents logical values: true and false.

let isDone: boolean = false;

Number

The number type represents both integer and floating-point numbers.

let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;

String

The string type represents textual data.

let color: string = "blue";
color = 'red';
let fullName: string = `John Doe`;

Array

The array type represents a list of elements of a specific type.

let list: number[] = [1, 2, 3];
let fruits: Array<string> = ["apple", "banana", "cherry"];

Tuple

The tuple type allows you to express an array where the type of a fixed number of elements is known, but need not be the same.

let x: [string, number];
x = ["hello", 10]; // OK
x = [10, "hello"]; // Error

Enum

The enum type is a way of giving more friendly names to sets of numeric values.

enum Color {
  Red,
  Green,
  Blue,
}
enum Color {Red, Green, Blue}
let c: Color = Color.Green;

Any

The any type is a powerful way to work with existing JavaScript, allowing you to opt-out of type-checking.

let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

Void

The void type is used to indicate the absence of any type, commonly used as the return type of functions that do not return a value.

function warnUser(): void {
  console.log("This is a warning message");
}

Null and Undefined

The null and undefined types have their own values null and undefined, respectively.

let u: undefined = undefined;
let n: null = null;

Never

The never type represents the type of values that never occur. For example, a function that always throws an exception or one that never returns.

function error(message: string): never {
  throw new Error(message);
}

Object

The object type represents non-primitive types, i.e., anything that is not number, string, boolean, symbol, null, or undefined.

declare function create(o: object | null): void;
create({ prop: 0 }); // OK
create(null); // OK

Type Assertion

Type assertions are a way to tell the compiler that you know more about the type of a value than it does.

let someValue: any = "this is a string";
let strLength: number = (someValue as string).length;

Conclusion

TypeScript provides a rich set of data types that can be used to define variables, functions, and interfaces. By using these data types effectively, you can write more robust and maintainable code.