JavaScript ááᯠá
áá±á·áá¬áá¯ááºážá ááááá¯á¶ážáá¯ááºáá²á·áá¬á á¡áá»áááºáá¯ááºáááºáá¬á
á±ááá·áº ááŸáá·áºááœááºááœá±ááᯠá
á¬áááºážááŒá¯á
á¯áá²á·áá«áááºá áááºážááá¯á·ááᯠá¡ááŒá¬ážáá±á¬ áááá¯ááááºáá¬áá»á¬ážá ááá°áá®áá±á¬ ááá¯ááºáá»á¬ážááŸáá·áº áááºá
áœá²á
á¬á¡á¯ááºáá»á¬ážááœáẠááœá±á·ááŸááá²á·áááºá
á€áá±á¬ááºážáá«ážááœááºá áááºá JavaScript áá¯ááºááᯠááŒáŸáá·áºáááºáááºááŸáá·áº á¡ááŸáááºááŒáŸáá·áºááẠáááºážáááºážáá±á¬ááºáž áá áá¯ááᯠáá±á¬áºááŒáá«áááºá ááá
á¹á
á¡áá»á¬ážá
á¯ááœáẠáááºážááá¯á·ááẠuniversal ááŒá
áºáááºá
áá«ááá¯á·áááºážááá¯ááááá±ážááẠ"Habr" áá á¬áááºáá°á¡á¬ážáá¯á¶ážá¡ááœáẠ- "Habr" áááá¯ááá¯ážááŸááºážáá¯ááºááᯠá¡áá¯á¶ážááŒá¯á áááºááá·áº Skillbox áááºáááºážááœááºá á¬áááºážááœááºážááá·áºá¡áá« 10 áá°áááºáá»áŸá±á¬á·á á»á±ážá
Skillbox á០á¡ááŒá¶ááŒá¯áá¬ážáááº- áááºááœá±á·áááºáááºáž
"ááá¯ááá¯ááºáž Developer PRO" .
áá°ážááŒá¬ážáá±á¬áááºááá¯ážáá»á¬ážááᯠá á áºáá¯ááºááŒááºážá
á¡áááºážá¡áá»ááºážáá»á¬áž
Set object type ááᯠES6 ááœááºááááºáááºáá²á·ááŒá®áž ...á spread operator ááŸáá·áºá¡áá° áá°ážááŒá¬ážáá±á¬áááºááá¯ážáá»á¬ážáá¬áá«ááŸááá±á¬ array á¡áá áºáá áºáá¯ááá¯áááºáá®ážááẠáááºážááá¯áá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // Result: [1, 2, 3, 5]
áá¯á¶ááŸááºá¡ááŒá±á¡áá±ááœáẠáá°áá®áá±á¬áá¯ááºáá±á¬ááºáá»ááºááá¯áá¯ááºáá±á¬ááºááẠáá¯ááºáá»á¬ážá áœá¬ááá¯á¡ááºáá«áááºá
á€áááºážááá¬ááẠáá°áá¡áá»áá¯ážá¡á á¬ážáá»á¬ážáá«ááŸááá±á¬ array áá»á¬ážá¡ááœáẠá¡áá¯ááºáá¯ááºáááº- áááºááŸááºááá¬ážáá±á¬á nullá booleaná string ááŸáá·áº number ááá¯á·ááŒá áºáááºá á¡áá¬ááá¹áá¯áá»á¬ážá áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž ááá¯á·ááá¯áẠá¡ááá¯á¡áááºážáá»á¬ážáá«ááŸááá±á¬ array áá áºáá¯ááŸáá·áº á¡áá¯ááºáá¯ááºáá±áá«áá áááºááẠááá°áá®áá±á¬áá»ááºážáááºááŸá¯áá áºáᯠááá¯á¡ááºáááºááŒá áºáááºá
áá¶ááá¬á¡ááœáẠáááºááŸáºáááºážáá»ááºážááŸá¯á á¡ááŸááº
áá¶ááá¬
ááẠloops á¡ááœáẠáá±á·áá¬áá±á¬á¡áá«á áááºááẠá á¶áá¯ááºáá¯á¶ážáá¯ááºáááºážááᯠááá¯ááºáá¬áááº-
for (let i = 0; i < array.length; i++){
console.log(i);
}
ááá¯á·áá±á¬áºá ဠsyntax ááŒáá·áºá for loop ááẠáááºáá«ááá²áá² array á á¡ááŸááºááᯠáááºáá«ááá²áá² á á áºáá±ážáááºá
áá áºáá«áá áºáá¶ááœáẠáááºážááẠá¡áá¯á¶ážáááºááá¯ááºáá±á¬áºáááºáž ááá á¹á á¡áá»á¬ážá á¯ááœáẠáááºážááá¯áááºáá±á¬ááºááœáá·áºáá áºáá¯ááá¯á¡ááºááá·áº array áá¡ááŸááºááᯠcache áá¯ááºááẠááá¯áááá±á¬ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á·áá±á¬ variable i ááá¯áááºááŸááºááá·áº length variable ááá¯áááºááŸááºááŒááºážááŒáá·áº áááºážááᯠáá»áœááºá¯ááºááá¯á·áá¯ááºáá±á¬ááºááá¯ááºáááº-
for (let i = 0, length = array.length; i < length; i++){
console.log(i);
}
áá°á¡áá á¡áááºáá±á¬áºááŒáá«áá²á·ááá¯á·áá®ážáá«ážáá°áá®áá±á¬áºáááºáž ááœááºážáááºá¡ááœááºá¡á á¬ážááᯠááá¯ážááŒáŸáá·áºááŒááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡áá»áááºáá¯ááºáááºáá¬ááŸá¯ááᯠáááŸááááºááŒá áºáááºá
áá«áá¬ááŸá±á¬á·á¡ááá·áºáááºááŸááºááŒááºáž (McCarthy á¡ááá·áºáááºááŸááºáá»ááº)
á¡ááŒá±á¡áá±ááá¯ááºáᬠáá¯ááºáááºážáá±á¬ááºááœááºáá°áá»á¬áž
ternary á¡á±á¬áºááá±áá¬ááẠááá¯ážááŸááºážáá±á¬ (ááá«ááᶠááááºáááá¯ážááŸááºážáá«) á¡ááŒá±á¡áá±ááá¯ááºáᬠáá¯ááºááŒááºáá»ááºáá»á¬ážááᯠáá±ážááẠááŒááºáááºááŒá®áž áááá±á¬ááºáá±á¬áááºážáááºážááŒá áºáááº-
x> 100? âááá áá»á±á¬áºâ- âááá á¡á±á¬ááºâ;
x> 100? (x>200? "more than 200": "100-200" ááŒá¬áž): "100 á¡á±á¬ááº";
ááá¯á·áá±á¬áº áá áºáá«áá áºáá¶ááœáẠternary operator ááẠááá¯á¡ááºáááºááẠááá¯ááá¯ááŸá¯ááºááœá±ážáá«áááºá 'and' && ááŸáá·áº 'or' á¡á á¬áž || ááá¯áá¯á¶ážááá¯ááºáááºá á¡áá»áá¯á·áá±á¬á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬ážááᯠááá¯ááááá»áá±á¬áááºážáááºážááŒáá·áº á¡áá²ááŒááºááẠBoolean á¡á±á¬áºááá±áá¬áá»á¬ážá áááºážááᯠ"short circuit" ááá¯á·ááá¯áẠ"short circuit rating" áá¯áá±á«áºáááºá
áááºááá¯á€áá¯ááºáááºážááá¯áááº
áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá±á¡áá±ááŸá áºáᯠááá¯á·ááá¯áẠááá¯á·áááºááá¯áá±á¬ á¡ááŒá±á¡áá±áá»á¬ážáá²á០áá áºáá¯ááá¯áᬠááŒááºááá¯áááºááá¯ááŒáá«á áá¯á·á
&& ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áááááŸá¬ážáá±á¬áááºááá¯ážááᯠááŒááºáá±ážáááá·áºáááºá operand áá áºáá¯á á®ááẠtrue ááá¯á· á¡áá²ááŒááºáá«áá á¡áá²ááŒááºáá¬ážáá±á¬ áá±á¬ááºáá¯á¶áž expression ááᯠááŒááºáá±ážáá«áááºá
let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
console.log(0 && null); // Result: 0
|| á¡áá¯á¶ážááŒá¯ááŒááºážá ááááááºááá¯ážá¡ááŸááºááᯠááŒááºáá±ážáá«áááºá operand áá áºáá¯á á®ááẠfalse áᯠá¡áá²ááŒááºáá«á áá±á¬ááºáá¯á¶ážá¡áá²ááŒááºááá·áºáááºááá¯ážááᯠááŒááºáá±ážáááºááŒá áºáááºá
let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
console.log(0 || null); // Result: null
á¥ááá¬á¡á¬áž 1
ááááºážááŸááºáá áºáá¯á á¡ááŸááºááᯠááŒááºáá±ážááá¯áááºáᯠááá¯áá«á áá¯á·á ááá¯á·áá±á¬áº áááºážá á¡áá»áá¯ážá¡á á¬ážááᯠáá»áœááºá¯ááºááá¯á· ááááá«á
á€ááá á¹á ááœááºá foo áááºááŸááºáááºáá±á¬á¡áá»áá¯ážá¡á á¬ážááŒá áºááŒá±á¬ááºážá á áºáá±ážááẠif/else ááá¯áá¯á¶ážááá¯ááºáá±á¬áºáááºáž á€áááºážáááºážááẠááŸááºááœááºážáá±ááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·á "short circuit" ááᯠáá°ááŒááºážááẠááá¯áá±á¬ááºážáá«áááºá
return (foo || []).length;
variable foo ááœáẠááá·áºáá»á±á¬áºáá±á¬ á¡ááŸááºááŸááá«áá áááºážááᯠááŒááºáá±ážáá«áááºá ááá¯ááºááẠáááºááááá·áºáááºá
á¥ááá¬á¡á¬áž 2
á¡ááºá ááºáá¬ážáá±á¬ á¡áá¬ááá¹áá¯ááᯠáááºáá±á¬ááºá¡áá¯á¶ážááŒá¯áá¬ááœáẠááŒá¿áá¬áá»á¬áž ááŸááá«ááá¬ážá á¡áá¬ááá¹áá¯áá áºáᯠááá¯á·ááá¯áẠáááºážáá¡ááœá²áá áºáá¯ááŸááááŸáááᯠáááºáááááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááẠááŒá¿áá¬áá»á¬ážáá®ááá¯á· áŠážáááºááœá¬ážááá¯ááºáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá€.state ááŸá áá±áá¬ááá¯ááºááá¯ááºááŸá¯ááᯠááá°ááá¯áá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·á áááá¯ááááºá០áá¯ááºáá°ááŸá¯áá±á¬ááºážááá¯ááŸá¯ áááŒááºááá»ááºáž áá±áá¬ááᯠáááºááŸááºááá¬ážáá«á
áááºážááá¯áá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯ááá·áºáá±áá¬áá±á«áºáá°áááºá this.state.data ááá¯áá±á«áºááá¯ááŒááºážááẠá¡ááá®áá±ážááŸááºážááá¯á áááºááŒááºážááŸáá¬ážáá®ážááá¯ááºáááºááŒá áºáááºá ááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºá áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠáááºááŸááºááá·áºá¡áá¯á¶ážá¡ááŸá¯ááºážááŒáá·áº ááŒá¯á¶áá¯á¶ááá¯ááºáááº-
if (this.state.data) {
return this.state.data;
} else {
return 'Fetching Data';
}
ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ááœá±ážáá»ááºááŸá¯ááŸá¬ "ááá¯á·ááá¯ááº" á¡á±á¬áºááá±áá¬ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá áºáááºá
return (this.state.data || 'Fetching Data');
&& á¡áá¯á¶ážááŒá¯ááẠá¡áááºáá±á¬áºááŒáá« áá¯ááºááᯠááŒá±á¬ááºážáá²á áááá«á 'áá±áá¬ááá°ááŒááºáž' && this.state.data á¡á±á¬áºááá±áá¬ááẠáááºááŸááºáá¬ážááŒááºážáááŸááááºááŒá áºá á± ááááºááŸááºáá² this.state.data ááᯠááŒááºáá±ážáá«áááºá
ááœá±ážáá»ááºááá¯ááºáá±á¬ ááœááºážáááº
áá áºáááºááœá²á·á ááºážáá¯á¶á¡ááœááºáž áááºááŸáá¯ááºážáá±á¬ ááá¯ááºááá¯ááºááŸá¯áá áºáá¯ááᯠááŒááºáááẠááŒáá¯ážá á¬ážáá±á¬á¡áá«ááœáẠá áááºááŒáá¯ááºááŒáá¯ážááœá²ááŒááºážááᯠá¡áá¯á¶ážááŒá¯ááẠá¡ááŒá¶ááŒá¯ááá¯ááºáááºá áá«ááᯠáá±ážááœááºážá¡ááŸááºá¡áá¬ážá áá¬áá²? áááºážááẠnull ááá¯ááºáá«á ááá¯ááºááá¯ááºááŸá¯ááᯠááŒááºáááºááá°ááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠthis.state.data?..() ááá¯áááŸáááẠá¡áááºááá°áá¬ááᯠááŒááºáááºáá¯á¶á·ááŒááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á áááºááá¯ážááẠnull ááá¯ááºáá«á áá±áá¬ááᯠááŒááºáá±ážáááºá
ááá¯á·ááá¯áẠááŒááºáááºáááºááŸááºáááºááŒá áºá á± ááááºááŸááºáááºááŒá áºá á± á¡áá±ážááŒá®ážáá«áá áá»áœááºá¯ááºááá¯á·ááẠthis.state?.data ááᯠááŒááºáá±ážááá¯ááºáá«áááºá
Boolean ááá¯á·ááŒá±á¬ááºážáá«á
á¡áá»áá¯ážá¡á á¬ážááŒá±á¬ááºážááŒááºážá
áá¯á¶ááŸáẠboolean áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááẠá¡á á áºá¡ááŸááºááŸáá·áº á¡ááŸá¬ážáá»á¬ážá¡ááŒááºá JavaScript ááẠá¡ááŒá¬ážáááºááá¯ážá¡á¬ážáá¯á¶ážááᯠá¡ááŸááºááá¬áž ááá¯á·ááá¯áẠá¡áá¯á¡áá±á¬ááºá¡ááŒá ẠááŸááºáá°áááºá
á¡ááŒá¬ážáááºážááŒáá·áº ááŸááºáá¬ážááá¬ážáá«á JavaScript ááŸá áááºááá¯ážáá»á¬ážá¡á¬ážáá¯á¶ážááẠ0á "" nullá undefinedá NaN ááŸáá·áº áá¯ááºáá«áááºá false ááŸááœá²á á¡á¬ážáá¯á¶ážááŸááºáááºáá«áááºá áá±á¬ááºáá áºáá¯á á¡áá¯á¡áá±á¬ááºááœá±áá«á
á¡áá»áá¯ážá¡á á¬ážááᯠboolean á¡ááŒá áºááŒá±á¬ááºážáá±ážááá·áº !á¡á±á¬áºááá±áá¬ááᯠá¡áá¯á¶ážááŒá¯á áááºážááá¯á·ááŸá áºáá¯ááŒá¬ážááœáẠá¡ááœááºááá°ááŒá±á¬ááºážááá¯ááºáááºá
const isTrue = !0;
const isFalse = !1;
const alsoFalse = !!0;
console.log(true); // Result: true
console.log(typeof true); // Result: "boolean"
á á¬ááŒá±á¬ááºážááá¯á·ááŒá±á¬ááºážáá«á
á¡áá»áá¯ážá¡á á¬ážááŒá±á¬ááºážááŒááºážá
ááááºážááŒáá·áºá០á á¬ááŒá±á¬ááºážáá áºáá¯ááá¯á· á¡ááŒááºááŒá±á¬ááºážáá²ááŒááºážááᯠá¡á±á¬ááºáá«á¡ááá¯ááºáž áá¯ááºáá±á¬ááºááá¯ááºáá«áááºá
const val = 1 + "";
console.log(val); // Result: "1"
console.log(typeof val); // Result: "string"
ááááºážááŒáá·áºááá¯á·ááŒá±á¬ááºážáá«á
á¡áá»áá¯ážá¡á á¬ážááŒá±á¬ááºážááŒááºážá
áá»áœááºá¯ááºááá¯á·ááẠá€áá²á·ááá¯á· ááŒá±á¬ááºážááŒááºá¡ááœááºááŒá±á¬ááºážááŒááºážááᯠáá¯ááºáá±á¬ááºáááºá
let int = "15";
int = +int;
console.log(int); // Result: 15
console.log(typeof int); Result: "number"
á¡á±á¬ááºáá±á¬áºááŒáá«á¡ááá¯ááºáž boolean áá±áá¬á¡áá»áá¯ážá¡á á¬ážááᯠáá¯á¶ááŸááºááááºážáááºááá¯ážáá»á¬ážá¡ááŒá ẠááŒá±á¬ááºážáá²ááẠá€áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
console.log(+true); // Return: 1
console.log(+false); // Return: 0
+ áááºááá¯ážá¡á±á¬áºááá±áá¬ááẠáá±á«ááºážá ááºá¡á±á¬áºááá±áá¬á¡ááŒá Ạá¡áááá¹áá¬ááºáá±á¬ááºáá°ááá·áº á¡ááŒá±á¡áá±áá»á¬áž ááŸáááá¯ááºáááºá áá«ááá¯ááŸá±á¬ááºááŸá¬ážááẠtildes ááá¯áá¯á¶ážááá·áºááẠ~~á á€á¡á±á¬áºááá±áá¬ááẠ-n-1 ááŸáá·áº áá®áá»áŸáááºá á¥ááᬠ~15 ááẠ-16 ááŸáá·áº áá®áááºá
á¡áááºážáá²ááœáẠtilde ááŸá áºáá¯ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠ- (- - n - 1) - 1 = n + 1 - 1 = n ááŒá áºáá±á¬ááŒá±á¬áá·áº áá¯ááºáá±á¬ááºáá»ááºááᯠáá»ááºááŒááºá á±áááºá áá áºáááºážá¡á¬ážááŒáá·áº ~-16 ááẠ15 ááŸáá·áº áá®áá»áŸáááºá
const int = ~~"15"
console.log(int); // Result: 15
console.log(typeof int); Result: "number"
<Quick Powers
áá¯ááºáááºážáá±á¬ááºááœááºááŸá¯áá»á¬áž
ES7 ááŸá áááºá áá«áá«á¡ááœáẠá¡ááá¯áá±á¬ááºá¡ááŒá Ạexponentiation operator ** ááᯠáááºáá¯á¶ážááá¯ááºáááºá áááºážááẠMath.pow(2, 3) ááá¯á¡áá¯á¶ážááŒá¯ááŒááºážááẠááá¯ááá¯ááŒááºáááºáááºá ááá¯ážááŸááºážáá¯á¶ááááºá ááá¯á·áá±á¬áº áá±áá¬ááá¯ááºážááœáẠááá±á¬áºááŒáá¬ážáá±á¬ááŒá±á¬áá·áº á€á¡áá»ááºááᯠáááºážááá¬áá»á¬ážá á¬áááºážááœáẠááá·áºááœááºážáá¬ážáááºá
console.log(2 ** 3); // Result: 8
á¡ááœáŸááºážááááºážá¡ááœáẠá¡áá¯á¶ážáá»á¬ážáá±á¬ ^ áááºá¹áá±áááŸáá·áº ááá±á¬ááœá±ážááá·áºáá«á ááá¯á·áá±á¬áº JavaScript ááœááºáááºážááẠXOR á¡á±á¬áºááá±áá¬ááŒá áºáááºá
ES7 áááá¯ááºáá®á ** ááŒááºáááºážááẠbitwise left shift á¡á±á¬áºááá±áᬠ<<: á¡ááŒá±áᶠ2 á áá«áá«áá»á¬ážá¡ááœááºáᬠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
Math.pow(2, n);
2 << (n - 1);
2**n;
á¥ááá¬á¡á¬ážááŒáá·áº 2 << 3 = 16 ááẠ2**4 = 16 ááŸáá·áº áá®áá»áŸáááºá
ááááºážááŒáá·áºááá¯á· áá»áŸá±á¬áá«á
áááºáááºááŸá¯áá»á¬áž / á¡áá»áá¯ážá¡á á¬ážááŒá±á¬ááºážááŒááºážá
á¡áááºá áááºááẠfloat áá áºáá¯ááᯠááááºážááŒáá·áºá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááẠááá¯á¡ááºáá«áá áááºááẠMath.floor(), Math.ceil() ááá¯á·ááá¯áẠMath.round() ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áá«áá±ááá·áº ááá¯ááŒááºáá²á·áááºážáááºážáá áºáá¯ááŸááá«áááºá áá«á OR á¡á±á¬áºááá±áá¬ááá¯áá¯á¶ážáá«áááºá
console.log(23.9 | 0); // Result: 23
console.log(-23.9 | 0); // Result: -23
á¡áá±á¡ááá¯áẠ| áááºááẠá¡ááŒá¯ááá±á¬ ááá¯á·ááá¯áẠá¡áá¯ááºááááºážáá»á¬ážááŸáá·áº áááºáá¶ááŒááºážááŸááááŸáá¡áá±á«áºááœáẠá¡ááááá°áááºáááºá ááá¯á·ááŒá±á¬áá·áº á€áááºážáááºážááẠáááºáá¯ááºáá±áá±á¬á¡áá¬ááᯠáá¯á¶ááŒááºááŸá¯ááŸáááŸáá¬áá»áŸáẠááá·áºáá»á±á¬áºáá«áááºá
n| 0 ááẠáá¿áááœá²ááŒááºážááŒá®ážáá±á¬áẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºááŸá¬ážááŒá®áž float ááᯠááááºážááŒáá·áºá¡ááŒá ẠááŒááºáá±á¬ááºáááºá
~~ á¡áá¯á¶ážááŒá¯á áá°áá®áá±á¬ á¡ááŸáá·áºáá»á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ááᯠáááºáááá¯ááºáááºá ááááºážááŒáá·áºááá¯á· á¡áááºážá¡ááŒááºááŒá±á¬ááºážááŒá®ážáá±á¬ááºá áááºááá¯ážááẠáááŒá±á¬ááºážáá²áá«á
áá±á¬ááºááá¯ááºáá¶áá«ááºáá»á¬ážááᯠáááºááŸá¬ážááŒááºážá
OR á¡á±á¬áºááá±áá¬á¡á¬áž áá¶áá«ááºáá áºáá¯á០ááááºážáá¶áá«ááºáá»á¬ážááᯠáááºááŸá¬ážááẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ á€áá±áá¬ááœááºáá²á·ááá¯á· á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠááŒá±á¬ááºážááẠáááá¯á¡ááºáá«á
let str = "1553";
Number(str.substring(0, str.length - 1));
áá»áœááºá¯ááºááá¯á· ááá¯ážááá¯ážááŸááºážááŸááºážáá±ážááá·áºá¡á á¬áž-
console.log(1553 / 10 | 0) // Result: 155
console.log(1553 / 100 | 0) // Result: 15
console.log(1553 / 1000 | 0) // Result: 1
á¡ááá¯á¡áá»á±á¬ááºáá»áááºáááºááŒááºážá
á¡áááºážáá»á¬áž
ES6 ááŒáŸá¬ážááŸááºáá»ááºáá»á¬ážááᯠá¡áááºážáááºážáááºážáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááŒá®áž á ááºážááŸá±á¬ááºááŒááºážááᯠááá¯ááá¯áááºá ááá¯ááá¯áá¬á this.myMethod = this.myMethod.bind(this) ááá¯áá»áá¯áž áááºááá²áá²á¡áá¯á¶ážá¡ááŸá¯ááºážááœá±ááᯠááŸá¯ááºáááºá áá¬ážááŒá±á¬ááá¯ááºáá«áááºá
import React, { Component } from React;
export default class App extends Compononent {
constructor(props) {
super(props);
this.state = {};
}
myMethod = () => {
// This method is bound implicitly!
}
render() {
return (
<>
<div>
{this.myMethod()}
</div>
</>
)
}
};
Array ááŒááºáá±á¬ááºááŒááºážá
á¡áááºážá¡áá»ááºážáá»á¬áž
array áá áºáá¯á០áááºááá¯ážáá»á¬ážááᯠáááºáá¯ááºááẠááá¯á¡ááºáá«áá splice() ááẠááá¯ááá¯ááŒááºáááºáá±á¬ áááºážáááºážáá»á¬áž ááŸááá«áááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá°áááºáž array á á¡ááœááºá¡á á¬ážááᯠáááá«áá áááºážá á¡ááŸáẠááá¯ááºááá¯ááºááŸá¯ááᯠá¡á±á¬ááºáá«á¡ááá¯ááºáž á¡á á¬ážááá¯ážááá¯ááºáááº-
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array.length = 4;
console.log(array); // Result: [0, 1, 2, 3]
áá«áá±ááá·áº ááá¯ááŒááºáá²á· áááºážáááºážáá áºáᯠááŸááá«áá±ážáááºá ááŒááºááŸá¯ááºážááẠááá·áºá¡ááœááºá¡áá±ážááŒá®ážáá«áá áá»áœááºá¯ááºááá¯á·áááœá±ážáá»ááºááŸá¯áá»á¬ážááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááº-
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
array = array.slice(0, 4);
console.log(array); // Result: [0, 1, 2, 3]
array áá áºáá¯á áá±á¬ááºáá¯á¶ážáááºááá¯áž(áá»á¬áž)ááᯠáááá·áºáá¯ááºááŒááºážá
á¡áááºážá¡áá»ááºážáá»á¬áž
á€áááºážááá¬ááẠslice() method ááá¯á¡áá¯á¶ážááŒá¯áááºááá¯á¡ááºáááºá
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(array.slice(-1)); // Result: [9]
console.log(array.slice(-2)); // Result: [8, 9]
console.log(array.slice(-3)); // Result: [7, 8, 9]
JSON áá¯ááºááᯠáá±á¬áºáááºáá¯ááºááŒááºážá
JSON
áááºááẠJSON.stringify ááᯠá¡áá¯á¶ážááŒá¯ááŒá®ážááŒá áºááá¯ááºáááºá ááá·áº JSON ááá¯áá±á¬áºáááºáá±ážááŒá±á¬ááºáž áááºáááá«ááá¬ážá
stringify() áááºážáááºážááẠááœá±ážáá»ááºááá¯ááºáá±á¬ ááá·áºáááºáá±á¬ááºááŸá áºáá¯ááᯠáá°áááº- ááŒááá¬ážááá·áº JSON ááᯠá á áºáá¯ááºááẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á¡á á¬ážááá¯ážáá¯ááºáá±á¬ááºáá»ááºááŸáá·áº áá±áá¬ááœááºáááºááá¯ážá
console.log(JSON.stringify({ alpha: 'A', beta: 'B' }, null, 't'));
// Result:
// '{
// "alpha": A,
// "beta": B
// }'
áá«áá«áá²á áá®áááºážááá¬ááœá±á¡á¬ážáá¯á¶áž á¡áá¯á¶ážáááºáááºááá¯á· áá»áŸá±á¬áºááá·áºáá«áááºá áááºááá¯ááŸáá·áºááœááºááœá± áááá²á áá°ááá¯á·ááᯠcomment ááŸá¬áá±ážáá«á
Skillbox á០á¡ááŒá¶ááŒá¯áá¬ážáááº-
- ááŸá áºááŸá áºá á¬áááºááœá±á·áááºáááºáž
"áá»áœááºáá±á¬áºá PRO ááẠdeveloper áá áºáá±á¬ááºáá«" .- á¡áœááºááá¯ááºážáááºáááºáž
"0 á០C# developer" .- áááºááœá±á· áá áºááŸá áºáááºáááºáž
"PHP developer 0 á០PRO" .
source: www.habr.com