working link
https://stackblitz.com/edit/js-d57tvk
more about
https://www.youtube.com/results?search_query=functional+programming+vs+object+oriented+javascript
a better link
https://www.youtube.com/watch?v=7HolHe7Gqbw&t=263s
example :-
https://stackblitz.com/edit/js-d57tvk
more about
https://www.youtube.com/results?search_query=functional+programming+vs+object+oriented+javascript
a better link
https://www.youtube.com/watch?v=7HolHe7Gqbw&t=263s
example :-
//function composition (function programming) over inheritance
//create some global function every thing except number and string are object in javascript
//@function showName----------------------------
const showName=(state)=>({
getfullName()
{
return state.name+" "+state.last;
}
});
//@function showSalary----------------------------
const showSalary=(state)=>(
{
bonus:800,
getSal()
{
return state.sal*12+this.bonus;
}
}
)
//@function what emp do
const WhatHeDo=(state)=>(
{
getType()
{
switch(state.type) {
case "it":
this.type="you are a it emp";
break;
case "game":
this.type="you are a game developer"
break;
default:
// code block
}
return this.type;
}
}
)
//emp class which is function as we know every function is a constructor in javascript
function emp(_name,_last)
{
let objRef={
name:_name,
last:_last
}
return Object.assign(objRef,showName(objRef));
}
//create a new class itEmp which hold some properties
function itEmp(_sal,_type)
{
let objRef={
sal:_sal,
type:_type
}
return Object.assign(objRef,showSalary(objRef),WhatHeDo(objRef));
}
//copy or you can say copy properties from source to destination
//where source is emp calss and destination is itEmp class
//first object
let itemp=Object.assign(itEmp(2000,"it"),emp("manish","chauhan"))
console.log(itemp.getfullName())
console.log(itemp.getSal())
console.log(itemp.getType());
//second object
let gameemp=Object.assign(itEmp(2100,"game"),emp("sachin","chauhan"))
console.log(gameemp.getfullName())
console.log(gameemp.getSal());
console.log(gameemp.getType());
Comments
Post a Comment