JavaScript Π·Π°ΠΌΠ΅ΡΠΊΠΈ
Kanalga Telegramβda oβtish
Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ JavaScript. ΠΠ±ΡΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡ Π½Π°Π²ΡΠΊΠΈ Π²ΠΎ Frontend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΏΠΎΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡ :) Π‘ΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ: @noname_media ΠΠ°Π½Π°Π» Π½Π° Π±ΠΈΡΠΆΠ΅: telega.in/channels/notesjs/card?r=Wj7h1mbl
Ko'proq ko'rsatish7 368
Obunachilar
-124 soatlar
-167 kun
-5730 kun
Postlar arxiv
Async Await Π² ΡΠ·ΡΠΊΠ΅ JavaScript
Async Await ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΏΡΠΎΠΌΠΈΡΠΎΠ², Π½ΠΎ Ρ ΠΌΠ΅Π½ΡΡΠΈΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ:
var request = require('request');
function getJSON(url) {
return new Promise(function(resolve, reject) {
request(url, function(error, response, body) {
resolve(body);
});
});
}
async function main() {
var data = await getJSON();
console.log(data); // NOT undefined!
}
#ΡΡΠ½ΠΊΡΠΈΠΈΠ³Π΄Π΅-ΡΠΎ Π² ΠΎΡΠΈΡΠ΅ ΡΠΊΠΈΠ»Π»Π±ΠΎΠΊΡ
Π§ΡΠΎ? Π‘Π½ΠΎΠ²Π° ΡΠ»ΠΈΠ»ΠΈ?! ΠΠ° ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΎΠ½ΠΈ ΠΠ***Π π€¬
ΠΠ°, ΡΠ»ΠΈΠ»ΠΈ, ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°Ρ, ΡΠΊΠΈΠ»Π»Ρ, Π° Π΅ΡΡ ΠΈ ΡΠ΅ΡΠ°Π±Π°ΠΉΡΡ ΠΊΡΡΡΠΎΠ² Π΄ΡΡΠ³ΠΈΡ
ΡΠΎΠΏΠΎΠ²ΡΡ
ΠΎΠ½Π»Π°ΠΉΠ½ ΡΠΊΠΎΠ». ΠΡ Π½Π΅ Π±ΠΎΠΈΠΌΡΡ, Π±Π°Π½ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ΅Π½. ΠΠΎ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΊΠ°Π½Π°Π» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π»ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ»ΠΊΠΈ:
SkillBox.rar (Π Π°Π·ΠΌΠ΅Ρ: 593 ΠΠ)
GeekBrains.rar (Π Π°Π·ΠΌΠ΅Ρ: 342 ΠΠ)
Udemy.rar (Π Π°Π·ΠΌΠ΅Ρ: 223 ΠΠ)
Π―Π½Π΄Π΅ΠΊΡΠΡΠ°ΠΊΡΠΈΠΊΡΠΌ.rar (Π Π°Π·ΠΌΠ΅Ρ: 447 ΠΠ)
SkillFactory.rar (Π Π°Π·ΠΌΠ΅Ρ: 199 ΠΠ)
Π’ΠΎΠΏΠΠ½ΠΈΠ³ΠΈ.rar (Π Π°Π·ΠΌΠ΅Ρ: 103 ΠΠ)
WeakMaps
Π§ΡΠΎΠ±Ρ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠ°ΡΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π΄Π°Π½Π½Ρ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ WeakMaps Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
let _age = new WeakMap();
class Person {
constructor(age) {
_age.set(this, age);
}
incrementAge() {
let age = _age.get(this) + 1;
_age.set(this, age);
if (age > 50) {
console.log('Midlife crisis');
}
}
}
Π‘Π°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ WeakMaps Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΠΈΡ
Π»ΠΈΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΈΡ
ΠΊΠ»ΡΡΠΈ Π½Π΅ Π²ΡΠ΄Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ²ΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Reflect.ownKeys():
> const person = new Person(50);
> person.incrementAge(); // 'Midlife crisis'
> Reflect.ownKeys(person); // []
#ΡΡΠ½ΠΊΡΠΈΠΈMaps Π² ΡΠ·ΡΠΊΠ΅ JavaScript
Maps ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΠΈΡΠΊΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅).
let map = new Map();
> map.set('name', 'david');
> map.get('name'); // david
> map.has('name'); // true
Π‘Π°ΠΌΠ°Ρ ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ Maps - ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΡΠΎΠΊ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠΏ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΡΡΠ°, ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΡΠΈΠΏΡ Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ.
let map = new Map([
['name', 'david'],
[true, 'false'],
[1, 'one'],
[{}, 'object'],
[function () {}, 'function']
]);
for (let key of map.keys()) {
console.log(typeof key);
// > string, boolean, number, object, function
}
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΈΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΊ map.get(). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΠΉΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠΈ, Π±ΡΠ»Π΅Π²Ρ ΠΈ ΡΠΈΡΠ»Π°.
#ΡΡΠ½ΠΊΡΠΈΠΈFrontend-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ°Π½Π°Π»Ρ, Π² ΠΊΠΎΡΠΎΡΡΡ
Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π²ΡΡ
ΠΎΠ΄ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΠΎΡΡΡ.
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ JavaScript - ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠ°Π½Π°Π» ΠΏΠΎ JS ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Ρ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΡΠΌΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π·Π°ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ·ΡΠΊΡ.
Π‘Π΅Π½ΡΠΎΡ ΠΠΎΠΌΠΈΠ΄ΠΎΡ - ΠΊΠ°Π½Π°Π» Π΄Π»Ρ frontend ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π»ΡΡΡΠΈΡ
ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° HTML|CSS|JS.
Figma - Templates - ΠΊΠ°Π½Π°Π», Π³Π΄Π΅ ΡΠΎΠ±ΡΠ°Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΌΠ°ΠΊΠ΅ΡΠΎΠ² Π² Figma, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΈ ΠΏΡΠΈΡΡΠ»Π°ΡΡ Π½Π° Π²ΡΡΡΡΠΊΡ.
Symbol.for(key)
Symbol.for(key) ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ ΠΈ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ. ΠΠ²Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΡΡ
Π²ΡΠ·ΠΎΠ²Π° Symbol.for(key) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΈΠΌΠ²ΠΎΠ».
Symbol('foo') === Symbol('foo') // false
Symbol.for('foo') === Symbol('foo') // false
Symbol.for('foo') === Symbol.for('foo') // true
ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Symbol Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Symbol.iterator, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΠΎ Π²ΡΠ΅Ρ
ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ ΡΠΈΠΏΠ°Ρ
Π² ES6: ΠΌΠ°ΡΡΠΈΠ²Ρ, ΡΡΡΠΎΠΊΠΈ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈ Ρ. Π΄.
#ΡΡΠ½ΠΊΡΠΈΠΈSymbol( )
ΠΡΠ·ΠΎΠ² Symbol () ΠΈΠ»ΠΈ Symbol (ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅) ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π½ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ.
const refreshComponent = Symbol();
React.Component.prototype[refreshComponent] = () => {
// Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ
}
#ΡΡΠ½ΠΊΡΠΈΠΈΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ
Π ES5 ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ apply Π½Π° Math.max ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Math.max.apply(null, [-1, 100, 9001, -32]); // 9001Π ES6 ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΌΠ°ΡΡΠΈΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ:
Math.max(...[-1, 100, 9001, -32]); // 9001ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
let cities = ['San Francisco', 'Los Angeles']; let places = ['Miami', ...cities, 'Chicago']; // ['Miami', 'San Francisco', 'Los Angeles', 'Chicago']#ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ
ΠΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠ·ΡΠΊΠ΅ JavaScript
ΠΠΎ ES6 ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Browserify, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. Π‘ ES6 ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π²ΡΠ΅Ρ
ΡΠΈΠΏΠΎΠ² (AMD ΠΈ CommonJS).
ΠΠΊΡΠΏΠΎΡΡ Π² CommonJS
module.exports = 1;
module.exports = { foo: 'bar' };
module.exports = ['foo', 'bar'];
module.exports = function bar () {};
#ΠΌΠΎΠ΄ΡΠ»ΠΈΠ‘ΡΠ°Π½ΡΡΠ΅ Π²ΠΎΡΡΡΠ΅Π±ΠΎΠ²Π°Π½Π½ΡΠΌ ΡΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΡΠΆΠ΅ Π² 2023 Π³ΠΎΠ΄Ρ. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ°Π³ Π² Π½ΠΎΠ²ΡΡ ΠΆΠΈΠ·Π½Ρ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
ΠΠ°ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° ΠΊΡΡΡ ΠΎΡ Π₯Π΅ΠΊΡΠ»Π΅ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΠΉΡΠ΅ ΡΠΊΠΈΠ΄ΠΊΡ 10% ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΠΊ Π½Π° Π²ΡΠ±ΠΎΡ: Π΄Π΅ΠΏΠΎΠ·ΠΈΡ 20 000 β½, Π±Π°Π·ΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ° Π½Π° 5 ΠΌΠ΅ΡΡΡΠ΅Π² ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠΈΡΠΌ-ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ° Π½Π° 1 ΠΌΠ΅ΡΡΡ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠ°Π΄ΠΎΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π±Ρ, Π½ΠΎ ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π΄Π²ΠΎΠΈΡ
: ΠΊΡΠΏΠΈΡΠ΅ Π²ΡΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ ΡΠΎ ΡΠΊΠΈΠ΄ΠΊΠΎΠΉ 40%.
ΠΡΠ΅Π½ΠΈΡΠ΅ ΡΠΎΡΠΌΠ°Ρ ΠΈ ΡΠ΅ΡΠΈΡΠ΅, ΡΡΠΎΠΈΡ Π»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ. ΠΠ²ΠΎΠ΄Π½ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ!
ΠΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ Β«Π€ΡΠΎΠ½ΡΠ΅Π½Π΄-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ» Π²Ρ:
βοΈΠΠ·ΡΡΠΈΡΠ΅ JavaScript Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ HTML ΠΈ CSS ΠΈ ΠΎΡΠ²ΠΎΠΈΡΠ΅ React Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ.
βοΈΠ Π΅ΡΠΈΡΠ΅ Π±ΠΎΠ»Π΅Π΅ 420 Π·Π°Π΄Π°Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ 4 ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ»ΠΈΠΎ Π½Π° GitHub ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ 150 ΡΠ΅ΡΡΠΎΠ²ΡΡ
Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΎΡ Π½Π°ΡΠΈΡ
ΠΏΠ°ΡΡΠ½ΡΡΠΎΠ².
βοΈΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΎΡΠΎΡΠΌΠ»ΡΡΡ ΠΏΡΠ»-ΡΠ΅ΠΊΠ²Π΅ΡΡΡ Π² Open Sours ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
.
Π¨Π°Π³Π½ΠΈΡΠ΅ Π² Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ. Π£ΡΠΏΠ΅ΠΉΡΠ΅ ΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π°ΡΠ²ΠΊΡ Π΄ΠΎ 31 Π΄Π΅ΠΊΠ°Π±ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎΠ΄Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠΈ.
ΠΠ΅ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΡ
ΠΠ΅ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Ρ
ΡΠ°Π½ΠΈΡΡ ΠΈΡ
Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
.
ΠΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ
var arr = [1, 2, 3, 4]; var a = arr[0]; var b = arr[1]; var c = arr[2]; var d = arr[3]; let [a, b, c, d] = [1, 2, 3, 4]; console.log(a); // 1 console.log(b); // 2ΠΠ΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
var luke = { occupation: 'jedi', father: 'anakin' };
var occupation = luke.occupation; // 'jedi'
var father = luke.father; // 'anakin'
let luke = { occupation: 'jedi', father: 'anakin' };
let {occupation, father} = luke;
console.log(occupation); // 'jedi'
console.log(father); // 'anakin'
#ΠΎΠ±ΡΠ΅ΠΊΡΡ #ΠΌΠ°ΡΡΠΈΠ²ΡΠΠΈΡΠ΅ΡΠ°Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅ JavaScript
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡ
ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΡΡΡΠΈΡ.
var text = "This string contains "double quotes" which are escaped."; let text = This string contains "double quotes" which don't need to be escaped anymore.;ΠΠΈΡΠ΅ΡΠ°Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΡ, ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ ΡΡΡΠΎΠΊ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
var name = 'Tiger';
var age = 13;
console.log('My cat is named ' + name + ' and is ' + age + ' years old.');
ΠΡΠ΅ ΠΏΡΠΎΡΠ΅:
const name = 'Tiger';
const age = 13;
console.log(My cat is named ${name} and is ${age} years old.);
#ΡΡΠ½ΠΊΡΠΈΠΈ.repeat( )
function repeat(string, count) {
var strings = [];
while(strings.length < count) {
strings.push(string);
}
return strings.join('');
}
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
// String.repeat(numberOfRepetitions)
'meow'.repeat(3); // 'meowmeowmeow'
#ΡΡΠ½ΠΊΡΠΈΠΈ.includes( )
var string = 'food'; var substring = 'foo'; console.log(string.indexOf(substring) > -1);Π§ΡΠΎΠ±Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
.includes(), ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅ΡΠ½Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ > -1:
const string = 'food';
const substring = 'foo';
console.log(string.includes(substring));
#ΠΌΠ΅ΡΠΎΠ΄ΡΠΠ°ΠΌΠ΅Π½Π° IIFEs Π±Π»ΠΎΠΊΠ°ΠΌΠΈ
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, Π·Π°ΠΊΠ»ΡΡΠ°Π»Π°ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΎΠ±Π»Π°ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±Π»ΠΎΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΡΡ.
(function () {
var food = 'Meow Mix';
}());
console.log(food); // Reference Error
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±Π»ΠΎΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ:
{
let food = 'Meow Mix';
};
console.log(food); // Reference Error
#ΡΡΠ½ΠΊΡΠΈΠΈmdc
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Π³ΡΠ³Π»ΠΈΡΡ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎ JavaScript Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ, ΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡ "mdc" ΡΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄ΡΡ ΠΎΡ Mozilla Developer Center.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Google:
javascript array sort mdc(Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ "javascript") UPD: Mozilla Developer Center Π±ΡΠ» ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π² Mozilla Developer Network. ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ "mdc" ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΊΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ "mdn". #ΠΏΠΎΠ»Π΅Π·Π½ΠΎ
Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ [] Π²ΠΌΠ΅ΡΡΠΎ '.'. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΉΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
obj = {a:"test"};
var propname = "a";
var b = obj[propname]; // "test"
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ/ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
obj["class"] = "test"; // class - Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ; obj.class Π±ΡΠ»ΠΎ Π±Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΠΎ.
obj["two words"] = "test2"; // ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° . Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ.
#ΠΎΠ±ΡΠ΅ΠΊΡΡΠΠ±Π»Π°ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² JavaScript
JavaScript Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±Π»ΠΎΠΊΠ°:
var x = 1;
{ var x = 2; }
alert(x); // Π²ΡΠ²ΠΎΠ΄ΠΈΡ 2
#ΠΎΠ±ΡΠ΅Π΅ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ || Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
var a = b || c;ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ a ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ c ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ b = false (ΡΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ null, false, undefined, 0, empty string, ΠΈΠ»ΠΈ NaN), ΠΈΠ½Π°ΡΠ΅ a ΠΏΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ b. ΠΡΠΎ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ:
function example(arg1) {
arg1 || (arg1 = 'default value');
}
#ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡΠΠΏΠ΅ΡΠ°ΡΠΎΡ in
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ in Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅ΡΡΡ Π»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»ΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°:
var x = 1;
var y = 3;
var list = {0:0, 1:0, 2:0};
x in list; //true
y in list; //false
1 in list; //true
y in {3:0, 4:0, 5:0}; //true
ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΎΡΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Ρ
ΠΎΡΠΎΡΠΎ Π²ΡΠ³Π»ΡΠ΄ΡΡ, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²:
function list() {
var x = {};
for(var i=0; i < arguments.length; ++i)
x[arguments[i]] = 0;
return x
}
5 in list(1,2,3,4,5) //true
#ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ