typescript when to use interface and type code example
Example 1: ts interface optional parameter
interface Person {
name: string;
age: number;
phone?: string;
}
let p: Person = {name: "Ashlee", age: 29};
console.log(p);
Example 2: typescript interface function
interface IEmployee {
empCode: number;
empName: string;
getSalary: (number) => number;
getManagerName(number): string;
}
Example 3: typescript type vs interface
type Weekday = 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
let day1: Weekday = 'Monday';
let day2: Weekday = 'January';
interface Person {
firstName: string;
lastName: string;
age: number;
}
let person1: Person = {
firstName: 'James',
lastName: 'Smith',
age: 30
}
let person2: Person = {
firstName: 'Mary',
lastName: 'Williams'
}
Example 4: typescript interface vs type
interface Car {
name: string;
brand: string;
price: number;
}
type Car = {
name: string;
brand: string;
price: number;
}
interface Car extends Vehicle {
name: string;
brand: string;
price: number;
}
type Car = Vehicle & {
name: string;
brand: string;
price: number;
}