Π£Π³Π»ΡΠ±Π»Π΅Π½Π½ΡΠ΅ Π»Π΅ΠΊΡΠΈΠΈ ΠΎ JavaScript, ES2015+ ΡΠΈΡΠ°Ρ , React/Redux, ΡΡΡΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ΄
- ΠΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π±Π»ΠΎΡΠ½ΠΎΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅.
- Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅
this
, ΡΠ°Π±ΠΎΡΠ° Ρcall
,apply
,bind
. - ΠΡΠΈΠΌΠ΅Ρ Ρ ΠΊΠ°ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΠΈΡΠΉ.
- Π€ΡΠ½ΠΊΡΠΈΠΈ: ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠ°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΡ,
new.target
. - Arrow-ΡΡΠ½ΠΊΡΠΈΠΈ: ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ. Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΡΡΡΠ΅Π»ΠΊΠΈ, ΡΡΡΠ΅Π»ΠΊΠΈ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ,
arguments
Π²Π½ΡΡΡΠΈ ΡΡΡΠ΅Π»ΠΎΠΊ. - Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ²: shrothands, Π»Π°ΠΊΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, computed names
Object.is()
,Object.assign()
, Π΄Π΅ΡΡΡΡΠΊΡΡΡΠΈΠ·Π°ΡΠΈΡ, ΡΠΏΡΠ΅Π΄Ρ.Map
,Set
,WeakMap
,WeakSet
.
- Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ β Π·Π°ΡΠ΅ΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Symbol()
,Symbol.for
,Object.getOwnPropertySymbols
.- ΠΡΠΎΠΌΠΈΡΡ. Π¦Π΅ΠΏΠΎΡΠΊΠΈ ΠΏΡΠΎΠΌΠΈΡΠΎΠ²,
.then
,.catch
,.finally
. - Generators, iterators,
yield
,next()
,throw()
,return()
. - ΠΡΠΈΠΌΠ΅Ρ Ρ
co()
. - ΠΠΎΡΠΎΡΠΊΠΎ ΠΎ
Proxy
ΠΈReflect
.
- High Ordered Functions.
.map
,.filter
,.forEach
,.reduce
,.every
,.some
,.find
, etc. Array.from
,Array.of
.- Π§ΠΈΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
- ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° recompose.
- ΠΠ°ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Ramda.
- Π Π΅ΠΊΡΡΡΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ Ρ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π»ΠΎΠΌ.
- ΠΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Immutable.js.
- ΠΠ΅ΠΌΠΎΠΈΠ·Π°ΡΠΈΡ.
PureComponent
,pure(() => {})
. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° reselect.
- ΠΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
- CΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡΠΈΠΏΡ.
- CΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ. ΠΠΎΠ΄Ρ ΠΎΠ΄ redux-ducks ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
- Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅Π΄ΡΡΡΠ΅ΡΡ.
- Thunks.
- Sagas.
- Observables.
- MobX.
- Render props.
- React Context API
- Bundling projects: Webpack, Rollup, Parcel.
- Static type checkers: TypeScript, Flow, etc.
- Bundling best practices.
- Monorepo. Lerna.
CC-BY-04 Β© Denys Dovhan