Javascript: Syntax ( key concepts or 1 new things )
Sun Jun 13 2021 15:37:36 GMT+0000 (Coordinated Universal Time)
Saved by @jpannu #angular #typescript
--------------------
//Number
Number.isNaN(24);
// False.
let number1 = -Infinity;
let number2 = Infinity;
--------------------
//String
String(77).padStart(6,0);
// 000077
let str = 'Jaskaran Singh Pannu';
str.repeat(10)
console.log("Karan- ".repeat(4));
//Karan- Karan- Karan- Karan-
-------------------
-------------------
-------------------
//Object
let {name , age} = {name: "Faraji", age: 23};
console.log(name , age);
// → Faraji , 23
let obj = { name : 'karan' };
consol.log( 'name' in obj);
//true;
// Prototype ( Just to check if the certain properties are there.
Object.prototype.addNewMethod = function(){ return "Yeah"};
console.log('addNewMethod' in Object);
//true;
console.log('toString' in Object);
//true;
//hasOwnProperty ( It will just show the 'obj's properties ( code written ) , Not of it's parent ( Object).
let obj = { name : 'karan' };
obj.hasOwnProperty("name");
//true;
obj.hasOwnProperty('toString');
//False;
//Get // Set //Statics.
let obj = {
//keyword 'get'
get powerOne(){ return "Power 1" },
powerTwo : function(){
return "Power2, Old School."
}
};
obj.powerOne;
// OR. (The Only difference is, If we are using keyword "get", We don't have to use "()" while calling any function.
obj.powerTwo();
------------------------
//Classes
class basics{
constructor( name ){
this.name = name;
}
skillOne(skill){
return this.name + " is " + skill
}
}
class ChildOne extends basics{
constructor( name , age , country ){
super( name )
this.age = age;
this.country = country;
}
skillTwo(){
return " Skill Two here... "
}
}
----------------------
//instanceof
let arr = {};
console.log(arr instanceof Object)
// true.
let arr2 = []
console.log(arr2 instaceof Object);
// true ( Object is main base for all the non-primitives data types ( functions / arrays ).
------------------------
//Object.freeze
let object = Object.freeze({value: 5});
object.value = 10;
console.log(object.value);
// → 5
-----------------------
//HOF
//Data.
const companies = [
{name: "Company One", category: "Finance", start: 1981, end: 2005},
{name: "Company Two", category: "Retail", start: 1992, end: 2008},
{name: "Company Three", category: "Auto", start: 1999, end: 2007},
{name: "Company Four", category: "Retail", start: 1989, end: 2010},
{name: "Company Five", category: "Technology", start: 2009, end: 2014},
{name: "Company Six", category: "Finance", start: 1987, end: 2010},
{name: "Company Seven", category: "Auto", start: 1986, end: 1996},
{name: "Company Eight", category: "Technology", start: 2011, end: 2016},
{name: "Company Nine", category: "Retail", start: 1981, end: 1989}
];
const ages = [ 10, 0,10, 40, 50 , 88, 9 , 20 ,89, 100 ,6];
//Sort
let sort = ages.sort((a , b ) => a - b );
sort = companies.sort( (a , b ) => a.start -b.start )
//Reduce , Suming the Arrays.
let totatAges = ages.reduce(( total, item )=> total + item, 0 );
let totalYears = companies.reduce(( total , item ) => total + (item.end - item.start)
,0)
let out = nums.reduce(( firstItem , singleItem ) => {
let max = firstItem > singleItem ? firstItem : singleItem;
return max;
})
// There is another method called => "Find"
/* "Every" */ ( it return boolean value )
//It will test whether all elements in the array pass the provided function.
let output = students.every((item)=>{
return item.grade >= 100;
})
/* "SOME" */ ( it return boolean value )
//Similar to every, but returns true if ANY of the array elements pass the test function
let output = students.some((item)=>{
return item.grade >= 100;
})
//Combined
let combined = ages
.sort((a,b) => a-b)
.filter( item => item <= 10 )
.map( item => item * 1 )
.reduce( (total,item)=> total + item ,0 );
//Destructing
//Objects example
let {name, age, ...evrythingElse} = { name : 'Jaskaran', age : 34, country : "U.S", cool : true }
console.log(name); //Jaskaran
console.log(age); //34
console.log(evrythingElse); // { country:'U.S', cool: true }
//Array Example
let arr = ["Jaskaran","Singh","Pannu"];
let [firstName, ...everythingElse ] = arr;
console.log(everythingElse); // ['Singh', 'Pannu']
//Param Destructing
let fullName = ({fN, lN }) =>{ return fN + " " + lN }
let objName = {
fN : "Karan",
lN :"Singh"
}
fullName(objName);
/* Async */
//1 way.
fetch("https://icanhazdadjoke.com/slack").then((res)=>{
res.json().then((data)=>{
console.log(data)
})
});
//2nd Way
let link = "https://icanhazdadjoke.com/slack";
let xhr = new XMLHttpRequest();
xhr.open('GET',link, true);
xhr.send();
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
console.log(xhr.responseText);
}
}



Comments