Get Weekdays based on input number
//Get weekdays
//if you pass 0 --> Sunday
//if you pass 1 --> Monday and so on...if 8 --> undefined ...
const Weekdays = {
Sunday: 0,
Monday: 1,
Tuesday: 2,
Wednesday: 3,
Thursday: 4,
Friday: 5,
Saturday: 6,
};
Object.freeze(Weekdays);
//you cannot add new properties nor you can alter the existing properties...
console.log(`%c ${Weekdays}`, "color:red;font-size:20px");
console.log(`%c ${Weekdays["Wednesday"]}`, "color:red;font-size:20px");
//Getting key based on value .. if id is 4--> so if value is 4 --> Output should be -->Thursday
const getWeekdays = (id) => {
let day = Object.keys(Weekdays).find((key) => Weekdays[key] === id);
console.log(`%c ${day}`, "color:red;font-size:20px");
};
getWeekdays(4); //Thursday
getWeekdays(14); //undefined
Get Weekdays based on input number- Key-value is swapped
const Weekdays = {
0: "Sunday",
1: "Monday",
2: "Tuesday",
3: "Wednesday",
4: "Thursday",
5: "Friday",
6: "Saturday",
};
Object.freeze(Weekdays);
console.log(`%c ${Weekdays[2]}`, "color:red;font-size:20px");
const getWeekdays = (id) => {
console.log(`%c ${Weekdays[id]}`, "color:red;font-size:20px");
};
getWeekdays(2); //Tuesday
getWeekdays(12); //undefined
Switch Statement - direct return
const getWeekdays = (id) => {
switch (id) {
case 0:
return "Sunday";
case 1:
return "Monday";
case 2:
return "Tuesday";
case 3:
return "Wednesday";
case 4:
return "Thursday";
case 5:
return "Friday";
case 6:
return "Saturday";
default:
break;
}
};
console.log(`%c ${getWeekdays(3)}`, "color:red;font-size:20px");
Switch Statement - using break
const getWeekdays = (id) => {
let weekday = "";
switch (id) {
case 0:
weekday = "Sunday";
break;
case 1:
weekday = "Monday";
break;
case 2:
weekday = "Tuesday";
break;
case 3:
weekday = "Wednesday";
break;
case 4:
weekday = "Thursday";
break;
case 5:
weekday = "Friday";
break;
case 6:
weekday = "Saturday";
break;
default:
break;
}
return weekday;
};
console.log(`%c ${getWeekdays(3)}`, "color:red;font-size:20px");
Capitalize the first letter
//Capitalize the first letter
//Input :- this is random sentence
//Expected Output:- This is random sentence
let randomSentence = "this is random sentence";
//randomSentence.substring(1) will skip first letter and give rest part..
//his is random sentence
console.log(
`%c ${randomSentence[0].toUpperCase() + randomSentence.substring(1)}`,
"color:red;font-size:20px"
);
check for undeined/empty/null/false string
let x = null;
x = undefined;
x = "";
x = 0;
x = Number.NaN;
x = false;
console.log(`%c ${x}`, "color:red;font-size:20px");
if (x) {
console.log(`%c I have value`, "color:red;font-size:20px");
} else {
console.log(`%c I am undefined/null/empty`, "color:red;font-size:20px");
}
check for undeined/empty/null/false string - Handle false value
//what it is value is made false forcefully, it should not go inside else block
let x = null;
x = undefined;
x = "";
x = 0;
x = Number.NaN;
x = false;
console.log(`%c ${x}`, "color:red;font-size:20px");
if (x || x === false) {
console.log(`%c I have value`, "color:red;font-size:20px");
} else {
console.log(`%c I am undefined/null/empty`, "color:red;font-size:20px");
}
Check if object is empty
let obj = {};
if (obj && Object.keys(obj).length === 0) {
console.log(`%c I am empty`, "color:red;font-size:20px");
}
//Explanation
/*
1. first condition .. to check if it exists
even if its empty --> it will be true
Imagine the condition is not there
let obj ={}
obj =null;
if obj is made null ..Object.keys will throw error
2.checks keys length if 0 ? empty array doesn't have keys ..so valid
*/
getPrototypeOf Object
//case 1
const proto = {};
const obj = Object.create(proto);
Object.getPrototypeOf(proto) === Object.prototype;
//true
// Object.prototype
// {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
// Object.getPrototypeOf(proto)
// {constructor: ƒ, __defineGetter__: ƒ, __defineSetter__: ƒ, hasOwnProperty: ƒ, __lookupGetter__: ƒ, …}
//case 2
const proto1 = {};
const obj1 = Object.create(proto1);
Object.getPrototypeOf(obj1) === Object.prototype;
//false;
//case 3
const proto2 = {};
const obj2 = Object.create(proto2);
Object.getPrototypeOf(obj) === proto2;
// true