ΠΠΎΠ³Π΄Π° Ρ Π½Π°ΡΠ°Π» ΠΈΠ·ΡΡΠ°ΡΡ JavaScript, ΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠΎΡΡΠ°Π²ΠΈΠ» ΡΠΏΠΈΡΠΎΠΊ ΠΏΡΠΈΠ΅ΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π»ΠΈ ΠΌΠ½Π΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ. Π― ΠΏΠΎΠ΄ΡΠΌΠΎΡΡΠ΅Π» ΠΈΡ
Ρ Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΠ°ΠΉΡΠ°Ρ
ΠΈ Π² ΠΌΠ°Π½ΡΠ°Π»Π°Ρ
.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ 12 ΠΎΡΠ»ΠΈΡΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ»ΡΡΡΠΈΡΡ ΠΈ ΡΡΠΊΠΎΡΠΈΡΡ ΡΠ²ΠΎΠΉ JavaScript-ΠΊΠΎΠ΄. Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠ½ΠΈ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Ρ.
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ: Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ Β«Π₯Π°Π±ΡΠ°Β» β ΡΠΊΠΈΠ΄ΠΊΠ° 10 000 ΡΡΠ±Π»Π΅ΠΉ ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π»ΡΠ±ΠΎΠΉ ΠΊΡΡΡ Skillbox ΠΏΠΎ ΠΏΡΠΎΠΌΠΎΠΊΠΎΠ΄Ρ Β«Π₯Π°Π±ΡΒ».
Skillbox ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ: ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΡΡ
Β«ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ 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]
Π ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΉ ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½ΡΠΆΠ½ΠΎ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΊΠΎΠ΄Π°.
ΠΡΠΎΡ ΠΏΡΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ: undefined, null, boolean, string ΠΈ number. ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄.
ΠΠ»ΠΈΠ½Π° ΠΊΡΡ-ΠΌΠ°ΡΡΠΈΠ²Π° Π² ΡΠΈΠΊΠ»Π°Ρ
Π¦ΠΠΠΠ«
ΠΠΎΠ³Π΄Π° Π²Ρ ΠΈΠ·ΡΡΠ°Π΅Π΅ΡΠ΅ for Π΄Π»Ρ ΡΠΈΠΊΠ»ΠΎΠ², ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ΅:
for (let i = 0; i < array.length; i++){
console.log(i);
}
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΠΈΠΊΠ» for ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΡΡΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ, Π³Π΄Π΅ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
for (let i = 0, length = array.length; i < length; i++){
console.log(i);
}
Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π²ΡΡΠ΅, Π½ΠΎ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΈΠΊΠ»Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ΅Π½ΠΊΠ° ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡ (ΠΎΡΠ΅Π½ΠΊΠ° ΠΠ°ΠΊΠΊΠ°ΡΡΠΈ)
Π£Π‘ΠΠΠΠΠ«Π ΠΠΠΠ ΠΠ’ΠΠ Π«
Π’Π΅ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ β Π±ΡΡΡΡΡΠΉ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ (Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠ΅) conditional statements:
Ρ
> 100? Β«Π±ΠΎΠ»ΡΡΠ΅ 100Β»: Β«ΠΌΠ΅Π½ΡΡΠ΅ 100Β»;
Ρ
> 100? (x> 200? Β«Π±ΠΎΠ»ΡΡΠ΅ 200Β»: Β«ΠΌΠ΅ΠΆΠ΄Ρ 100-200Β»): Β«ΠΌΠ΅Π½ΡΡΠ΅ 100Β»;
ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄Π°ΠΆΠ΅ ΡΠ΅ΡΠ½Π°ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, ΡΠ΅ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ βandβ && ΠΈ βorβ || Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΠ³ΠΎ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Β«ΠΊΠΎΡΠΎΡΠΊΠΈΠΌ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅ΠΌΒ» ΠΈΠ»ΠΈ Β«ΠΎΡΠ΅Π½ΠΊΠΎΠΉ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΡΒ».
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²Π΅ΡΠ½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡΡ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ && Π²Π΅ΡΠ½Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ΅ false Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ true, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
let one = 1, two = 2, three = 3;
console.log(one && two && three); // Result: 3
console.log(0 && null); // Result: 0
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ || ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π²Π΅ΡΠ½ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ true Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ false, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
let one = 1, two = 2, three = 3;
console.log(one || two || three); // Result: 1
console.log(0 || null); // Result: null
ΠΡΠΈΠΌΠ΅Ρ 1
Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²Π΅ΡΠ½ΡΡΡ length ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅ΠΌ Π΅Π΅ ΡΠΈΠΏ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ if/else Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ foo β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠΈΠΏ, Π½ΠΎ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΈΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π»ΡΡΡΠ΅ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ Π½Π°ΡΠ΅ Β«ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ Π·Π°ΠΌΡΠΊΠ°Π½ΠΈΠ΅Β».
return (foo || []).length;
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ foo ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΡΡ length, ΡΠΎ ΠΎΠ½Π° ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ 0.
ΠΡΠΈΠΌΠ΅Ρ 2
ΠΡΠ»ΠΈ Π»ΠΈ Ρ Π²Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ? ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π΅ Π·Π½Π°ΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ²ΠΎΠΉΡΡΠ², ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΌΡ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Ρ data Π² this.state, Π½ΠΎ data Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ, ΠΏΠΎΠΊΠ° Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ Π²Π΅ΡΠ½Π΅Ρ Π·Π°ΠΏΡΠΎΡ Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ ΠΌΡ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ, Π²ΡΠ·ΠΎΠ² this.state.data ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π·Π°ΠΏΡΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΎΠ±Π΅ΡΠ½ΡΡΡ ΡΡΠΎ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
if (this.state.data) {
return this.state.data;
} else {
return 'Fetching Data';
}
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«orΒ».
return (this.state.data || 'Fetching Data');
ΠΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π²ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ &&. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ‘Fetching Data’ && this.state.data Π²Π΅ΡΠ½Π΅Ρ this.state.data Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ½ undefined ΠΈΠ»ΠΈ Π½Π΅Ρ.
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΡΠ΅ΠΏΠΎΡΠΊΠ°
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π²Π΅ΡΠ½ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π³Π»ΡΠ±ΠΎΠΊΠΎ Π² Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ. Π’Π°ΠΊ, ΡΠΈΠΌΠ²ΠΎΠ» Π·Π½Π°ΠΊΠ° Π²ΠΎΠΏΡΠΎΡΠ°? ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ (null).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΡΡΠ΅, ΠΏΠΎΠ»ΡΡΠΈΠ² this.state.data?.. (). Π’ΠΎ Π΅ΡΡΡ data Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ null.
ΠΠ»ΠΈ, Π΅ΡΠ»ΠΈ Π²Π°ΠΆΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π»ΠΈ state ΠΈΠ»ΠΈ Π½Π΅Ρ, ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π²Π΅ΡΠ½ΡΡΡ this.state?.data.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Boolean
ΠΠ ΠΠΠΠ ΠΠΠΠΠΠΠΠ Π’ΠΠΠΠ
ΠΡΠΎΠΌΠ΅ ΠΎΠ±ΡΡΠ½ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ true ΠΈ false, JavaScript ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ truthy ΠΈΠ»ΠΈ falsy.
ΠΠΎΠΊΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅, Π²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² JavaScript β truthy, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ 0, «», null, undefined, NaN ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, false. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ²Π»ΡΡΡΡΡ falsy.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ !, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠΈΠΏ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ.
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
ΠΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° + Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ, Π° Π½Π΅ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ»ΡΠ΄Ρ: ~~. ΠΡΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ -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 Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
ΠΠΠΠ ΠΠ¦ΠΠ / ΠΠ ΠΠΠΠ ΠΠΠΠΠΠΠΠ Π’ΠΠΠΠ
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ 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().
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ length ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
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 () ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: ΡΡΠ½ΠΊΡΠΈΡ replacer, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ JSON, ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ space.
console.log(JSON.stringify({ alpha: 'A', beta: 'B' }, null, 't'));
// Result:
// '{
// "alpha": A,
// "beta": B
// }'
ΠΠΎΡ ΠΈ Π²ΡΠ΅, Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ΅ΠΌΡ Π±ΡΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ. Π ΠΊΠ°ΠΊΠΈΠ΅ Ρ ΠΈΡΡΠΎΡΡΠΈ Π·Π½Π°Π΅ΡΠ΅ Π²Ρ? ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ .
Skillbox ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ:
- ΠΠ²ΡΡ Π»Π΅ΡΠ½ΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΡΡ
Β«Π― β Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ PROΒ» .- ΠΠ½Π»Π°ΠΉΠ½-ΠΊΡΡΡ
Β«Π‘#-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ 0Β» .- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π³ΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΠΊΡΡΡ
Β«PHP-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Ρ 0 Π΄ΠΎ PROΒ» .
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com