แ แแแแกแแช JavaScript-แแก แกแฌแแแแ แแแแแฌแงแ, แแแ แแแแ แ แแช แแแแแแแแ แแงแ แฎแ แแแแแแก แกแแ, แ แแแแแแแช แแแแแฎแแแ แ แแ แแแก แแแแแแแแจแ. แแ แจแแแแแจแแ แแกแแแ แกแฎแแ แแ แแแ แแแแกแขแแแแกแแแ, แกแฎแแแแแกแฎแแ แกแแแขแแแแ แแ แกแแฎแแแแซแฆแแแแแแแแแจแ.
แแ แกแขแแขแแแจแ แแ แแแฉแแแแแแ 12 แจแแกแแแแจแแแ แแแแก แแฅแแแแ JavaScript แแแแแก แแแกแแฃแแฏแแแแกแแแแแ แแ แแแฉแฅแแ แแแแกแแแแก. แฃแแแขแแก แจแแแแฎแแแแแจแ, แแกแแแ แฃแแแแแ แกแแแฃแ แแ.
แจแแแแฎแกแแแแแ: "Habr"-แแก แงแแแแ แแแแแฎแแแแแกแแแแก - แคแแกแแแแแแแ 10 แ แฃแแแแแแ Skillbox-แแก แแแแแกแแแแ แแฃแ แกแแ แฉแแ แแชแฎแแแกแแก "Habr" แกแแ แแแแแแ แแแแแก แแแแแงแแแแแแ.
Skillbox แแแ แฉแแแ: แแ แแฅแขแแแฃแแ แแฃแ แกแ
"Mobile Developer PRO" .
แฃแแแแแแฃแ แ แแแแจแแแแแแแแแแก แแแคแแแขแแ แ
แแแกแแแแแ
Set แแแแแฅแขแแก แขแแแ แแแแแแ แแ ES6-แจแ,..., spread แแแแ แแขแแ แแแ แแ แแแ, แจแแแแแซแแแ แแแแแแแงแแแแ แแฎแแแ แแแกแแแแก แจแแกแแฅแแแแแแ, แ แแแแแแช แจแแแชแแแก แแฎแแแแ แฃแแแแแแฃแ แแแแจแแแแแแแแแก.
const array = [1, 1, 2, 3, 5, 5, 1]
const uniqueArray = [...new Set(array)];
console.log(uniqueArray); // Result: [1, 2, 3, 5]
แแแ แแแแฃแ แกแแขแฃแแชแแแจแ, แแแแแ แแแแ แแชแแแก แจแแกแแกแ แฃแแแแแแ แกแแญแแ แแ แแแแ แแ แแแขแ แแแแ.
แแก แขแแฅแแแแ แแฃแจแแแแก แแแกแแแแแแ, แ แแแแแแแช แจแแแชแแแก แแ แแแแขแแฃแ แขแแแแแก: แแแแฃแกแแแฆแแ แแแ, แแฃแแแแแแ, แแแแแแฃแ แ, แกแขแ แแฅแแแ แแ แ แแชแฎแแ. แแฃ แแฅแแแ แแฃแจแแแแ แแแกแแแแแ, แ แแแแแแช แจแแแชแแแก แแแแแฅแขแแแก, แคแฃแแฅแชแแแแก แแ แแแแแขแแแแ แแแกแแแแแก, แแแแญแแ แแแแแ แแแแกแฎแแแแแแฃแแ แแแแแแแ.
แฅแแจแ แแแกแแแแก แกแแแ แซแ แชแแแแแแจแ
แชแแแแแแ
แ แแแแกแแช แกแฌแแแแแแ แแแ แงแฃแแแแก, แแฅแแแ แแแฐแงแแแแแ แกแขแแแแแ แขแฃแ แแ แแชแแแฃแ แแก:
for (let i = 0; i < array.length; i++){
console.log(i);
}
แแฃแแชแ, แแ แกแแแขแแฅแกแแ, for loop แแ แแแ แแฎแแ แแแแฌแแแแก แแแกแแแแก แกแแแ แซแแก แงแแแแแ แแแแแแ แแแ.
แแแแฏแแ แแก แจแแแซแแแแ แแงแแก แกแแกแแ แแแแแ, แแแแ แแ แฃแแแขแแก แจแแแแฎแแแแแจแ แฃแคแ แ แแคแแฅแขแฃแ แแ แแแกแแแแก แกแแแ แซแแก แฅแแจแแ แแแ, แ แแช แแแแแฎแแแก แแแกแแ แแ แ แฌแแแแแแก. แฉแแแ แจแแแแแซแแแ แแแแก แแแแแแแแ แกแแแ แซแแก แชแแแแแแก แแแแกแแแฆแแ แแ, แกแแแแช แแแแแกแแแฆแแ แแแ i แชแแแแแก, แแกแ:
for (let i = 0, length = array.length; i < length; i++){
console.log(i);
}
แแ แแแชแแแจแ, แแแแฅแแแก แแแแแแ แ แแช แแแแแ, แแแแ แแ แแแ แงแฃแแแก แแแแแก แแแแ แแแ แแแแแฆแแแ แแ แแแก แแแแจแแแแแแแแ แแแแแแแแแก.
แแแแแ แฉแแ แแแแก แแแจแแแ (แแแแแแ แขแแก แ แแแขแแแแ)
แแแ แแแแแ แแแแ แแขแแ แแแ
แกแแแแฃแแ แแแแ แแขแแ แ แแ แแก แกแฌแ แแคแ แแ แแคแแฅแขแฃแ แ แแแ แแแ แขแแแ (แแ แแแแฏแแ แแ แช แแกแ แแแ แขแแแ) แแแ แแแแแ แแแแชแฎแแแแแแแแก แแแกแแฌแแ แแ:
x> 100? โ100-แแ แแแขแโ: โ100-แแ แแแแแแแโ;
x> 100? (x>200? "200-แแ แแแขแ": "100-200-แก แจแแ แแก"): "100-แแ แแแแแแแ";
แแแแ แแ แแแแฏแแ แกแแแแแแ แแแแ แแขแแ แแช แแ แฃแคแ แ แ แแฃแแแ, แแแแ แ แกแแญแแ แแ. แฉแแแ แจแแแแแซแแแ แแแแแแแงแแแแ 'and' && แแ 'or' แแแชแแแแ || แแแแแแฃแ แ แแแแ แแขแแ แแแ แจแแแคแแกแแ แแแ แแแแฃแแ แแแแแแแแฅแแแแแแ แแแแแ แฃแคแ แ แแแแแแ. แแแก แฎแจแแ แแ แฃแฌแแแแแแ "แแแแแ แฉแแ แแแแก" แแ "แแแแแ แฉแแ แแแแก แ แแแขแแแแก".
แ แแแแ แแแแแแแก แแแแก แแฃแจแแแแ
แแแฅแแแ, แแแแแแ แแ แ แแ แแแขแ แแแ แแแแแแ แแฎแแแแ แแ แแแก แแแแ แฃแแแแ.
&&-แแก แแแแแงแแแแแ แแแแแ แฃแแแแก แแแ แแแ แชแ แฃ แแแแจแแแแแแแแก. แแฃ แแแแแแฃแแ แแแแ แแแแ แคแแกแแแแ true, แแแจแแ แแแแ แจแแคแแกแแแฃแแ แแแแแแแแฅแแแแ แแแแ แฃแแแแแ.
let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
console.log(0 && null); // Result: 0
แแแแแงแแแแแ || แแแแแ แฃแแแแก แแแ แแแ แแแแแแแ แแแแจแแแแแแแแก. แแฃ แแแแแแฃแแ แแแแ แแแแ แจแแคแแกแแแแ false-แแแ, แแแจแแ แแแแ แฃแแแแแ แแแแ แจแแคแแกแแแฃแแ แแแแจแแแแแแแ.
let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
console.log(0 || null); // Result: null
แแแแแแแแ 1
แแแฅแแแ, แแแแแแ แแแแแแ แฃแแแ แชแแแแแแก แกแแแ แซแ, แแแแ แแ แแ แแแชแแ แแแกแ แขแแแ.
แแ แจแแแแฎแแแแแจแ, แจแแแแซแแแแ แแแแแแงแแแแ if/else, แ แแแ แจแแแแแฌแแแ, แ แแ foo แแ แแก แกแฌแแ แ แขแแแ, แแแแ แแ แแก แแแแแแ แจแแแซแแแแ แซแแแแแ แแ แซแแแ แแงแแก. แแแแขแแ, แฃแแฏแแแแกแแ แแแแฆแแ แฉแแแแ "แแแแแ แฉแแ แแแ".
return (foo || []).length;
แแฃ แชแแแแแก foo แแฅแแก แจแแกแแคแแ แแกแ แกแแแ แซแ, แแแจแแ แแก แแแแ แฃแแแแแ. แฌแแแแแฆแแแแ แจแแแแฎแแแแแจแ แแแแแฆแแแ 0-แก.
แแแแแแแแ 2
แแฅแแแแแ แแ แแแแแแ แฉแแแแแฃแ แแแแแฅแขแแ แฌแแแแแแกแแก? แแฅแแแ แจแแแซแแแแ แแ แแชแแแแ แแ แแก แแฃ แแ แ แแแแแฅแขแ แแ แแแกแ แแ แ-แแ แแ แฅแแแแแแกแแแ แแ แแแแ แจแแแซแแแแ แแแแแแฌแแแแก แแ แแแแแแแแ.
แแแแแแแแแ, แแแแแแแแ แแแแแชแแแแ แแแแกแแแแแ แฌแแแแแ this.state-แจแ, แแแแ แแ แแแแแชแแแแแ แแ แแ แแก แแแแกแแแฆแแ แฃแแ, แกแแแแ แฉแแแแ แแ แแแ แแแ แแ แแแแแ แฃแแแแก fetch แแแแฎแแแแแก.
แแแแกแแ แแแฎแแแแแ, แแฃ แกแแ แแแงแแแแแ แแแก, แแ.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-แก, แแแฃแฎแแแแแแ แแแแกแ, แแ แแก แแฃ แแ แ แแก แแแแฃแกแแแฆแแ แแแ.
แกแฃแ แแแแแกแแแแแ แฏแแญแแ
แจแแแซแแแแ แจแแแแแแแแแแแแก แแ แแกแแแแแแแแฃแแ แฏแแญแแแก แแแแแงแแแแแ แฎแแก แกแขแ แฃแฅแขแฃแ แแจแ แฅแแแแแแก แฆแ แแแ แแแแ แฃแแแแแก แแชแแแแแแแกแแก. แแแจ, แแแแฎแแแก แแแจแแแก แกแแแแแแ? แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แฅแแแแแแก แแแกแแฆแแแแ แแฎแแแแ แแ แจแแแแฎแแแแแจแ, แแฃ แแก แแ แแ แแก แแฃแแแแแแ.
แแแแแแแแแ, แฉแแแ แจแแแแแซแแแ แจแแแชแแแแแ แแแแแ แแแชแแแฃแแ แแแแแแแแ, แ แแ แแแแแฆแแ this.state.data?..(). แแแฃ, แแแแแชแแแแแ แแ แฃแแแแแ แแฎแแแแ แแ แจแแแแฎแแแแแจแ, แแฃ แแแแจแแแแแแแ แแ แแ แแก null.
แแ, แแฃ แแแแจแแแแแแแ แแฅแแก แแแแกแแแฆแแ แฃแแแ แแฃ แแ แ แกแแฎแแแแฌแแคแ, แฉแแแ แจแแแแแซแแแ แแแแแแ แฃแแแ แแก.state?.data.
แแแแแแงแแแแแ แแแแแแฃแ แแ
แขแแแแก แแแแแแ แขแแชแแ
แแแ แแ แแแ แแแแฃแ แ แแแแแแฃแ แ แคแฃแแฅแชแแแแแกแ, true แแ false, JavaScript แแกแแแ แแแแแฎแแแแแก แงแแแแ แกแฎแแ แแแแจแแแแแแแแก, แ แแแแ แช แกแแแแ แแแแก แแ แงแแแแก.
แกแแแแ แกแฎแแแแแแ แแ แแ แแฅแแแแ แแฆแแแจแแฃแแ, JavaScript-แจแ แงแแแแ แแแแจแแแแแแแ แแ แแก แกแแแแ แแแ, แแแ แแ 0, "", null, แแแแฃแกแแแฆแแ แแแ, NaN แแ, แ แ แแฅแแ แฃแแแ, false. แแก แฃแแแแแกแแแแแ แงแแแแแ.
แฉแแแ แจแแแแแซแแแ แแแ แขแแแแ แแแแแแ แแแ แแ แก แจแแ แแก ! แแแแ แแขแแ แแก แแแแแงแแแแแแ, แ แแแแแแช แแกแแแ แแแ แแแฅแแแแก แขแแแก แแแแแแแ.
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"
แแก แแแแแแ แแกแแแ แจแแแซแแแแ แแแแแงแแแแแฃแ แแฅแแแก แแแแแแฃแ แ แแแแแชแแแแ แขแแแแก แ แแแฃแแแ แฃแ แชแแคแ แฃแ แแแแจแแแแแแแแแแ แแแแแกแแงแแแแแ, แ แแแแ แช แแก แแแฉแแแแแแแ แฅแแแแแ:
console.log(+true); // Return: 1
console.log(+false); // Return: 0
แจแแแซแแแแ แแงแแก แกแแขแฃแแชแแแแ, แ แแแแกแแช + แแฅแแแแ แแแขแแ แแ แแขแแ แแแฃแแ, แ แแแแ แช แจแแแ แแแแแก แแแแ แแขแแ แ แแ แแ แ แแแแแขแแแแก แแแแ แแขแแ แ. แแแแก แแแแแแแ แแกแแชแแแแแแแ, แแฅแแแ แฃแแแ แแแแแแงแแแแ แขแแแแแแ: ~~. แแก แแแแ แแขแแ แ แฃแแ แแก -n-1-แก. แแแแแแแแแ, ~15 แฃแแ แแก -16-แก.
แแแแแแแ แแ แ แขแแแแแก แแแแแงแแแแแ แฃแแ แงแแคแก แแแแ แแชแแแก, แ แแแแแ - (- - 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-แแแ แแแฌแงแแแฃแแ, แจแแแแซแแแแ แแแแแแงแแแแ แแฅแกแแแแแแขแแชแแแก แแแแ แแขแแ แ **, แ แแแแ แช แกแแแซแแแแ แแแแแก แกแขแแแแแ แแแ. แแก แแแแ แแ แฃแคแ แ แกแฌแ แแคแแ, แแแแ แ Math.pow(2, 3) แแแแแงแแแแแ. แ แแแแ แช แฉแแแก, แแแ แขแแแแ, แแแแ แแ แแก แแฃแแฅแขแ แจแแแแก แขแแฅแแแแแก แฉแแแแแแแแแแจแ, แ แแแแแ แแก แงแแแแแแ แแ แแ แแก แแแฎแกแแแแแ.
console.log(2 ** 3); // Result: 8
แแก แแ แฃแแแ แแแแแ แแแก ^ แกแแแแแแแกแแแ, แ แแแแแแช แฉแแแฃแแแแ แแ แแแแแแงแแแแแ แแฅแกแแแแแแขแแชแแแกแแแแก. แแแแ แแ JavaScript-แจแ แแก แแ แแก XOR แแแแ แแขแแ แ.
ES7-แแแ ** แแแแกแแฎแแแแ แจแแแซแแแแแแ แแแแแแงแแแแแแแแ แแฎแแแแ แแแแแก 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 แแจแแ แแแก แงแแแแแคแแ แก แแแฌแแแแแแก แแแแงแแคแแก แจแแแแแ, แแแแแแก แแแฌแแแแแก แแแแ แ แแชแฎแแแแแ.
แแฅแแแ แจแแแแซแแแแ แแแแฆแแ แแแแแ แแแแ แแแแแแแแก แแคแแฅแขแ ~~-แแก แแแแแงแแแแแแ. แแแแ แ แแชแฎแแแ แแซแฃแแแแแแ แแแแแงแแแแแก แจแแแแแ, แแแแจแแแแแแแ แฃแชแแแแแ แ แฉแแแ.
แแแแ แแแแ แแแแก แแแแฆแแแ
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>
</>
)
}
};
แแแกแแแแก แแแ แแแ
แแแกแแแแแ
แแฃ แแฅแแแ แแญแแ แแแแแ แแแแจแแแแแแแแแแก แแแแฆแแแ แแแกแแแแแแ, แแ แกแแแแแก แฃแคแ แ แกแฌแ แแคแ แแแแแแแแ, แแแแ แ splice().
แแแแแแแแแ, แแฃ แแชแแ แแ แแแแแแแฃแ แ แแแกแแแแก แแแแ, แจแแแแซแแแแ แแแกแ แกแแแ แซแแก แแแแกแแแ แจแแแแแแแแแ แแ แแแแแแแฎแแ:
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]
แแแกแแแแก แแแแ แแแแจแแแแ(แแ)แแก แแแแแญแแแ
แแแกแแแแแ
แแก แขแแฅแแแแ แแแแแฎแแแก slice() แแแแแแแก แแแแแงแแแแแแก.
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
// }'
แแก แงแแแแแคแแ แแ, แแแแแ แแแฅแแก, แ แแ แงแแแแ แแก แขแแฅแแแแ แกแแกแแ แแแแแ แแงแ. แ แ แฎแ แแแแแ แแชแแ? แแแฌแแ แแ แแกแแแ แแแแแแขแแ แแแจแ.
Skillbox แแแ แฉแแแ:
- แแ แฌแแแแแ แแ แแฅแขแแแฃแแ แแฃแ แกแ
"แแ แแแ PRO แแแ แแแแแแแแแ แ" .- แแแแแแ แแฃแ แกแ
"C# แแแแแแแแแ แ 0-แแแ" .- แแ แแฅแขแแแฃแแ แฌแแแก แแฃแ แกแ
"PHP แแแแแแแแแ แ 0-แแแ PRO-แแแ" .
แฌแงแแ แ: www.habr.com