JS does not specify data types.
TypeScript adds additional syntax to JavaScript to support a tighter integration with your editor. Catch errors early in your editor.
TypeScript code converts to JavaScript, which runs anywhere JavaScript runs: In a browser, on Node.js or Deno and in your apps.
TypeScript understands JavaScript and uses type inference to give you great tooling without additional code.
The 3 Primitive types are:
There are two ways to specify type
Implicit
let val = 1 // TS automatically understands the type is number
Explicit
let val:number = 1
Code -
//Array of String
let arr:string[];
arr.push("Pradeep")
//Array of Numbers
let rollnumbers: number[] = [1,2,3]
//Tuples
let studentDetails:[string,number,number] = ["pradeep",654,100]
//Adding types to function parameters and return type
function fun(a:number,b:number) : number{
return a+b;
}
//Object Types
let student:{
name:string,
age:number,
gender?:string | number
};
student = {
name:"Pradeep",
age:21
}
//INTERFACES
interface Person{
name:string;
age:number;
gender?:number; //Gender is optional
}
interface Student{
name:string;
rollno:number;
marks:number;
}
//Union
let NewStudent : Person | Student //can either be a Person or Student
NewStudent = {
name:"Pradeep",
age:21,
}
//Intersection
let NewStudent2 : Person & Student // must be both
NewStudent2 = {
name : "Pradeep",
age : 21,
rollno: 650,
marks : 100
}
//Classes in JS
class Car{
brand
constructor(brand)
{
this.brand = brand
}
function getBrand()
{
console.log(this.brand)
}
}
let car1 = new Car("Audi")
car1.getBrand();
//Class in TS
class Car{
brand;
constructor(public brand:string)
{
}
}
// Implements
class Student implements Person
{
constructor(public name:string,public age:number){}
}
Alias -
There are two types