TypeScript Tutorial in Hindi #36 Utility Types Part-2
Utility Types Part-2
Omit
Exclude
Extract
NanNullable
Record
Example
Interview Questions
utility-types.ts
interface CollegeType{
name:string,
location:string,
students:number,
branch:number
}
var CollegeData7:Omit<CollegeType,'students'| 'branch'>={
name:'iit delhi',
location:'delhi',
// students:1000
}
type APIStatus="loading" | 'error' | 'pending' | 'success';
var APICall:Exclude<APIStatus,'pending'>='success';
APICall="loading";
var APICall2:Extract<APIStatus,'error'| 'success'>;
APICall2='error';
type RandomType=string| number | undefined | null | string[];
var randomData:NonNullable<RandomType>=20;
type SiteRole = 'Admin' | 'user' | 'guest'
var siteRoleOption:SiteRole='Admin'
var RoleName:Record<SiteRole,string>={
Admin:'Anil',
user:'sidhu',
guest:'peter'
}
// APICall="pending"
// let CollegeData3:Partial<CollegeType>={
// name:'iit delhi',
// location:'delhi',
// students:600,
// }
function getCollegeData(data:Partial<CollegeType>){
return data
}
getCollegeData({name:'iit bombay',location:'bombay'})
function getCollegeData2(data:Required<CollegeType>){
return data
}
getCollegeData2({name:'iit bombay',location:'bombay',students:30,branch:3})
var CollegeData4:Readonly<CollegeType>={
name:'iit delhi',
location:'delhi',
students:400,
branch:5
}
// CollegeData4.name="iit gurgaon"
var CollegeData5:Pick<CollegeType,'name'|'location'>={
name:'iit delhi',
location:'delhi',
}
utility-types.js