Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ | JavaScript Camp
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΡβ
JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π°Π±ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΈΠ»ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ π Π·Π°ΡΠ°Π½Π΅Π΅.
Π’ΠΈΠΏ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ π Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ π¦ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² π :
function learnJavaScript() { let foo = 42 // ΡΠ΅ΠΉΡΠ°Ρ foo ΡΠΈΠΏΠ° number foo = ‘bar’ // Π° ΡΠ΅ΠΏΠ΅ΡΡ foo ΡΠΈΠΏΠ° string return typeof foo }Loading…
ΠΠΈΠ΄Π΅ΠΎβ
typeofβ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ typeof
. ΠΠΏΠ΅ΡΠ°ΡΠΎΡ typeof
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΏ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π£ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π΄Π²Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°: ΡΠΎ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΠΈ Π±Π΅Π·:
Π Π°Π±ΠΎΡΠ°ΡΡ ΠΎΠ½ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, Π½ΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΡΠΎΡΠ΅.
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ
ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΡΠΈΠΏ.
Loading…
Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ β
Π‘ΡΠ°Π½Π΄Π°ΡΡ JavaScript ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ 9 ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΈΠ· Π½ΠΈΡ Π΄Π΅Π»Π°Ρ Π²ΡΠ²ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ ΠΏΠΎΡΠ»Π΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ π£οΈ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
let one = { firstName: 'John', lastName: 'Smith' } // objectlet two = () => {} // function
let three = 'bar' // string
let four = 42 // number
let five = 19241924124n // bigint
let six = true // boolean
let seven = null // null
let eight // undefined
let nine = Symbol() // symbol
ΠΠ±ΡΠ΅ΠΊΡΡβ
Π ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡ object
β ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ»Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. Π JavaScript ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ². ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠΊΠ°Ρ ποΈ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ π¦ Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
.
Π€ΡΠ½ΠΊΡΠΈΠΈβ
Π€ΡΠ½ΠΊΡΠΈΠΈβοΈ function
β ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡβ
ΠΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² JavaScript, ΠΊΡΠΎΠΌΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌΠΈ (Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Ρ, Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½ΠΎΠ²ΡΠΌ ΠΏΠΎΠ»Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΡΠ·ΡΠΊΠ°π C, Π³Π΄Π΅ ΡΡΡΠΎΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ, Π² JavaScript ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡΡΡποΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΡΠΈΠΏΠΎΠ² Π½Π°Π·ΡΠ²Π°ΡΡΡΡ «ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ».
Π’Π΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈβ
Π JavaScript Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
π Π΄Π°Π½Π½ΡΡ
ΡΠ»ΡΠΆΠΈΡ ΡΠΈΠΏ string
.
Π§ΠΈΡΠ»Π°β
Π§ΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
number
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠ°ΠΊ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ.
BigIntβ
Π JavaScript ΡΠΈΠΏ number
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΡΠ»Π° Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ (253-1) (Ρ. Π΅. 9007199254740991), ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅, ΡΠ΅ΠΌ -(253-1) Π΄Π»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΠΈΡΠ΅Π». ΠΡΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ·Π²Π°Π½ΠΎ ΠΈΡ
Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ»ΡΡΠ°Π΅Π² ΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π³ΠΈΠ³Π°Π½ΡΡΠΊΠΈΠ΅ ΡΠΈΡΠ»Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ («timestamp») Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌΠΈ.
Π’ΠΈΠΏ bigInt
Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² JavaScript, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ.
ΠΡΠ»Π΅Π²ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ β
ΠΡΠ»Π΅Π²ΡΠΉ ΡΠΈΠΏ boolean
ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° 2οΈβ£ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: true
β
(ΠΈΡΡΠΈΠ½Π°)
ΠΈ false
β (Π»ΠΎΠΆΡ).
Π’Π°ΠΊΠΎΠΉ ΡΠΈΠΏ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ π¦ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π°/Π½Π΅Ρ: true β Π·Π½Π°ΡΠΈΡ Β«Π΄Π°, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΒ», Π° false β Π·Π½Π°ΡΠΈΡ Β«Π½Π΅Ρ, Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΒ».
Nullβ
ΠΡΠΎΡ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅: null
. ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠΈΡΠΈΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΡΠΎ Π² ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ². ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΡ null
ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Ρ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ null
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρπ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π΅Π³ΠΎ ΡΠΈΠΏ ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Undefinedβ
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ π , ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ undefined
.
ΠΡΠ»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ null ΠΈ undefinedβ
null
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ undefined
ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ°:
let TestVar
console.log(TestVar) // undefined
console.log(typeof TestVar) // undefined
null
— ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ π ΠΊΠ°ΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
let TestVar = null
console.log(TestVar) // null
console.log(typeof TestVar) // object
ΠΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΠ½ΠΎ, ΡΡΠΎ undefined
ΠΈ null
— ΡΡΠΎ Π΄Π²Π° 2οΈβ£ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΈΠΏΠ°: undefined
— ΡΡΠΎ ΡΠ°ΠΌ ΡΠΈΠΏ (Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ), Π° null
— ΠΎΠ±ΡΠ΅ΠΊΡ.
null === undefined // false
null == undefined // true
null === null // true
Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π‘ΠΈΠΌΠ²ΠΎΠ» (Symbol)β
Π’ΠΈΠΏ ΡΠΈΠΌΠ²ΠΎΠ» Symbol
β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΈΠΌΠΌΡΡΠ°Π±Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠΎΡ ΡΠΈΠΏ Π½Π° ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅, ΡΡΠΎ ΠΌΡ Π΄Π°ΠΆΠ΅ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΅Π³ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΡΠΎΠ³ΠΎ ΠΊΡΡΡΠ°.
ΠΡΠΎΠ±Π»Π΅ΠΌΡ?β
ΠΠΈΡΠΈΡΠ΅ Π² Discord ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌΠΌ ΡΠ°Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ΡΡ Π½Π° Π½Π°ΡΠΈ Π½ΠΎΠ²ΠΎΡΡΠΈ
ΠΠΎΠΏΡΠΎΡΡ:β
ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ typeof
?
- ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
- ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ
- ΠΠ»Ρ Π²Π²ΠΎΠ΄Π° Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ JavaScript?
7
9
5
Π ΠΊΠ°ΠΊΠΎΠΌ ΡΠΈΠΏΠ΅ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π½Π°Π±ΠΎΡ ΡΠ²ΠΎΠΉΡΡΠ²?
function
string
object
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² JavaScript ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎ?
- ΠΠ°
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΡΠΎΠ±ΡΡ ΡΠ»ΡΡΠ°ΡΡ
- ΠΠ΅Ρ, ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ
ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ?
number
string
bigInt
ΠΠ°ΠΊΠΎΠ΅ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π±ΡΠ»Π΅Π²ΡΠΉ ΡΠΈΠΏ boolean
?
false
null
true
ΠΠ°ΠΊΠΎΠΉ ΠΈΠ· ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°?
undefined
symbol
null
ΠΠ°ΠΊΠΎΠ² ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ whatTypeAmI
ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°? \n let whatTypeAmI = 5
integer
number
string
ΠΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ Π² JavaScript?
integer
number
string
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ?
undefined
symbol
null
ΠΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ (Π½Π΅ Π½ΠΎΠ»Ρ, Π½Π΅ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°, Π½Π΅ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ, Π½Π΅ Π»ΠΎΠΆΠ½ΡΠΉ ΠΈ Ρ. Π΄.)?
undefined
boolean
null
Π‘ΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ?
1 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (null)
2 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (null, undefined)
ΠΠ°ΠΊΠΎΠ²ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ myMessage
ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ? \n let myMessage
undefined
SyntaxError
null
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Ρ ΡΡΠ²ΠΎΠΈΠ»ΠΈ ΡΡΠΎΡ ΡΡΠΎΠΊ, ΠΏΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΡ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π°ΡΠ΅ΠΉ ΡΠΊΠΎΠ»Ρ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ Π±ΠΎΡΠ΅.
Π‘ΡΡΠ»ΠΊΠΈ:β
- MDN web docs
- ΠΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠΎΡΡΠΊΠΎΠ²: ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , ΡΠΎΠΌ 1: Javascript — Jeremy Moritz
- JavaScript.ru
Contributors β¨β
Thanks goes to these wonderful people (emoji key):
Dmitriy Vasilev π | Resoner2005 π π¨ π |
Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ β JavaScript β ΠΠΎΠΊΠ°
ΠΡΠ°ΡΠΊΠΎ
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎΠ€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ : ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ.
Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ JavaScript, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Call
, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ°ΡΡΡ function
.
ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ·ΡΠΊΠ°. ΠΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ , ΠΈ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ β ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ.
Π JavaScript ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ°. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Ρ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ β ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ.
Π ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΊΠ°ΠΊ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠ·ΠΎΠ²Π°.
Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎΠ€ΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π·ΡΠΌΡΠ½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ:
const answer = function() { console.log('42!')}answer()// 42!
const answer = function() {
console.log('42!')
}
answer()
// 42!
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΠ±Π° ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ:
function answerNumber() { console.log('42!')}const answer = answerNumberanswerNumber()// 42!answer()// 42!
function answerNumber() {
console.log('42!')
}
const answer = answerNumber
answerNumber()
// 42!
answer()
// 42!
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Ρ ΡΠ°Π½ΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ:
const answer = function() { console.log('42!')}const answerNumber = answerconst fn = answer
const answer = function() {
console.log('42!')
}
const answerNumber = answer
const fn = answer
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π² Π²ΡΠ·ΠΎΠ² Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎΠ€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΈΡΠ»Π°ΠΌΠΈ. ΠΠ²Π° ΡΠΈΡΠ»Π° Ρ ΡΠ°Π½ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅:
function performOperation(operation) { const a = 10 const b = 99 return operation(a, b)}const sum = performOperation(function(one, two) { return one + two })console.log(sum)// 109const result = performOperation(function(num1, num2) { return num1 ** (num1 / num2)})console.log(result)// 1.2618568830660204
function performOperation(operation) {
const a = 10
const b = 99
return operation(a, b)
}
const sum = performOperation(function(one, two) { return one + two })
console.log(sum)
// 109
const result = performOperation(function(num1, num2) { return num1 ** (num1 / num2)})
console.log(result)
// 1.2618568830660204
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π²Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Ρ Π³ΠΈΠ±ΠΊΠΎΠΉ.
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π² JavaScript. ΠΠ°ΠΆΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ for
ΠΈ filter
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄.
π€
Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π²ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ°. Π’Π°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π½Π° JS Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅.
ΠΡΡΠ³ΠΎΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ β ΠΊΠΎΠ»Π±ΡΠΊΠΈ Π² Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅. ΠΠ½ΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΡ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΊΠΎΠ»Π±ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΈ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΈ:
document.getElementsByTagName('button')[0].addEventListener('click', function() { console.log('ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ»ΠΈΠΊΠ½ΡΠ»!')})
document.getElementsByTagName('button')[0].addEventListener('click', function() {
console. log('ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊΠ»ΠΈΠΊΠ½ΡΠ»!')
})
ΠΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π°
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎΠ€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Ρ ΡΡΠ°Π·Ρ, Π° Π²Π΅ΡΠ½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π°Π΄ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ:
function lazySum(a, b) { return function() { return a + b }}
function lazySum(a, b) {
return function() {
return a + b
}
}
ΠΠ΄Π΅ΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ. ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ lazy
ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΌ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΡΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΡΡ ΠΆΠ΅ β ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π΄Π²Π° ΡΠΈΡΠ»Π° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ Π΅Ρ. ΠΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° lazy
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Ρ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ:
const performSum = lazySum(99, 1)console.log(performSum)// function lazySum()console. log(performSum())// 100
const performSum = lazySum(99, 1)
console.log(performSum)
// function lazySum()
console.log(performSum())
// 100
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² a
ΠΈ b
ΠΎΡΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π²Π½ΡΡΡΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° JavaScript.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎΠΠΈΠΊΠΎΠ»Π°ΠΉ ΠΠΎΠΏΠΈΠ½ ΡΠΎΠ²Π΅ΡΡΠ΅Ρ
Π‘ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎπ Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ typeof
β Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ 'function'
:
const answer = function() { console.log('42!')}console.log(typeof answer)// 'function'
const answer = function() {
console.log('42!')
}
console.log(typeof answer)
// 'function'
π Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΡΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΅ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ length
Π²Π΅ΡΠ½ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ:
const answer = function() { console.log('42!')}console.log(answer.length)// 0const sum = function(a, b) { return a + b}console.log(sum.length)// 2
const answer = function() {
console.log('42!')
}
console.log(answer.length)
// 0
const sum = function(a, b) {
return a + b
}
console.log(sum.length)
// 2
π Π€ΡΠ½ΠΊΡΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ΅Π΄ΠΊΠΎ, Π½ΠΎ Π½Π΅ ΡΠ΄ΠΈΠ²Π»ΡΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅:
const calc = function() {}calc.type = 'numbers'console.log(calc.type)// numbers
const calc = function() {}
calc.type = 'numbers'
console.log(calc.type)
// numbers
JavaScript Typeof Π΄Π»Ρ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ : ΠΌΠ°ΡΡΠΈΠ², Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Ρ.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ typeof
ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² JavaScript Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ², Π½ΠΎ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ
ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΡ.
ΠΡΡΡ Π΄Π²Π° ΡΠ»ΡΡΠ°Ρ, ΠΊΠΎΠ³Π΄Π° typeof
Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ "ΠΎΠ±ΡΠ΅ΠΊΡ"
, ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±ΡΡΠ½ΠΎΠΉ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Typeof Π² JavaScript?
Typeof
β ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² JavaScript Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΠΏΠ° Π² Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΡΡΠΌΠΈ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
JavaScript ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π² JavaScript, Π²ΠΊΠ»ΡΡΠ°Ρ 9 ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
.0003 undefined , ΡΡΡΠΎΠΊΠ°
ΠΈ ΡΠΈΡΠ»ΠΎ
.
ΠΠ±Π° typeof
null
ΠΈ typeof
ΠΌΠ°ΡΡΠΈΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ "ΠΎΠ±ΡΠ΅ΠΊΡ"
ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π²Π²ΠΎΠ΄ΡΡΠΈΠΌ Π² Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ null
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ (Π½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ), Π° ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ, Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² JavaScript.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΈΡΡΠ»Π΅Π΄ΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ typeof
Π² JavaScript.
Β
Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
Π₯ΠΎΡΡ Π² JavaScript Π²ΡΠ΅Π³ΠΎ Π²ΠΎΡΠ΅ΠΌΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
(ΡΠ΅ΠΌΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²), typeof
ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΠ½Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π΅Π²ΡΡΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²:
-
undefined
-
object
(Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅null
) -
boolean 900 04
-
Π½ΠΎΠΌΠ΅Ρ
-
bigint
-
ΡΡΡΠΎΠΊΠ°
-
ΡΠΈΠΌΠ²ΠΎΠ»
-
ΡΡΠ½ΠΊΡΠΈΡ
-
ΠΎΠ±ΡΠ΅ΠΊΡ
(ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ²Ρ)
ΠΠ½ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ
JavaScript, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ typeof
null
ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ"
ΠΈΠ·-Π·Π° Π΄Π°Π²Π½Π΅ΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ.
ΠΠ°Π»Π΅Π΅ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° ΠΎΡ ΡΠΈΠΏΠ°
.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ JavaScript: ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ JavaScript?
Β
Undefined
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ undefined
Π² JavaScript Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΎ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±ΡΠ»ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΎ, Π½ΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ½ Π΅ΡΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ undefined
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π² JavaScript, ΠΈ Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈΡΠ°ΡΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ.
ΠΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΎΡΠΈΠ±ΠΊΠ΅ ReferenceError, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°
.
Π’ΠΈΠΏ
undefined
β ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Β«undefinedΒ»
β ΠΈ undefined β ΡΡΠΎ Π»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π²Π½ΠΎΠ΅ null
, Π½ΠΎ Π½Π΅ Π΄ΡΡΠ³ΠΈΠΌ Π»ΠΎΠΆΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
// ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ undefined ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, Π½ΠΎ Π½Π΅ Π΄ΡΡΠ³ΠΈΠΌ Π»ΠΎΠΆΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ: console. log(undefined === undefined) // ΠΏΡΠ°Π²Π΄Π° console.log(undefined === null) // Π»ΠΎΠΆΡ console.log(undefined == null) // ΠΏΡΠ°Π²Π΄Π° console.log (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ)) // Π»ΠΎΠΆΡ console.log(undefined == false) // Π»ΠΎΠΆΡ // ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ typeof Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ "undefined" Π΄Π»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ undefined: console.log(typeof undefined) // Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ // ΠΠ±ΡΡΠ²Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°: ΠΏΡΡΡΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ console.log(undefinedVariable) // Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ console.log(typeof undefinedVariable) // Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ // Π’ΠΈΠΏ Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ββΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ: console.log(ΡΠΈΠΏ Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ) // Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π½Π΅ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±Π΅Π· typeof Π²ΡΠ·ΠΎΠ²Π΅Ρ ReferenceError: try { undeclaredVariable } catch(e) { console.log(e) } // ReferenceError: undeclaredVariable Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°
ΠΡΠ»ΠΈ typeof
Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ "undefined"
, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ undefined
, ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ, Π½ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π»ΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΈ Π½Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π»ΠΎΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ
.
Β
Null Object ΠΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ ΡΠΈΠΏ
null
Π² JavaScript ΡΠ°Π²Π΅Π½ "object"
. ΠΠΆΠΈΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ββΠ² JavaScript.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½ΡΠ»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ typeof
.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½ΡΠ»Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ( ===
), ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π²Π½ΠΎ null
, ΠΊΠ°ΠΊ Π² mayNull===null
.
Β
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Null
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
null
ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ (ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ). - ΠΠ½Π°ΡΠ΅Π½ΠΈΡ
null
ΠΈundefined
- ΠΠΈ
null
, Π½ΠΈundefined
Π½Π΅ ΡΠ°Π²Π½Ρ Π΄ΡΡΠ³ΠΈΠΌ Π»ΠΎΠΆΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π½ΡΠ»Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ( ==
) Π±ΡΠ΄Π΅Ρ Π·Π°Ρ
Π²Π°ΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π½ΡΠ»Π΅Π²ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ:
console. log(null) // null console.log(typeof null) // "ΠΎΠ±ΡΠ΅ΠΊΡ" console.log(null === null) // ΠΏΡΠ°Π²Π΄Π° console.log(null === undefined) // Π»ΠΎΠΆΡ console.log(null == undefined) // ΠΏΡΠ°Π²Π΄Π° console.log(null == false) // Π»ΠΎΠΆΡ console.log(Boolean(null)) // false // ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, null β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π»ΠΎΠΆΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ console.log(!null && typeof null === "object") // true isNull = (value) => !value && typeof value === "object" console.log(isNull(null)) // ΠΏΡΠ°Π²Π΄Π°
Π§Π°ΡΡΠΎ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
null
β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° null ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ==
.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π½Π° Π½ΡΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ===
.
ΠΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π·Π½Π°Ρ, ΡΡΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ (ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Boolean true
Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ), null
ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π»ΠΎΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
Β
Boolean
ΠΡΠΎΠ²Π΅ΡΠΈΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠ½ΠΈ Π±ΡΠ΄ΡΡ Π»ΠΈΠ±ΠΎ true
, Π»ΠΈΠ±ΠΎ false
, Π° typeof
a boolean Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ "boolean"
:
console.log(typeof true) // boolean console.log(typeof false) // Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ // ΠΠ±Π΅ΡΡΠΊΠ° Boolean() ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΈΡΡΠΈΠ½Π½ΡΠ΅ ΠΈ Π»ΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: console.log(typeof Boolean(37)) // Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ console.log(typeof Boolean(0)) // Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ // ΠΠ²Π° Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΠΊΠ° !! (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΠ) ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Boolean() console.log(typeof !!(37)) === // Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ console.log(typeof !!(0)) === // Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ // Π£ΡΠ»ΠΎΠ²Π½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ: 37 ? console.log("ΠΏΡΠ°Π²Π΄Π°") : console.log("Π»ΠΎΠΆΡ") // ΠΏΡΠ°Π²Π΄Π° 0 ? console.log("ΠΏΡΠ°Π²Π΄Π°") : console.log("Π»ΠΎΠΆΡ") // Π»ΠΎΠΆΡ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ JavaScript ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π»ΡΠ±ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² true
ΠΈΠ»ΠΈ false
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Boolean(), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠ°Π²ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π²Π° Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
Π·Π½Π°ΠΊΠ° (Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΠ β !
). ΠΠ»ΠΈ ΠΎΠ½ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π² ΡΡΠ»ΠΎΠ²Π½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΎΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if, Π²ΠΎΠΏΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π·Π½Π°ΠΊ ?
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΡΠΈΠΊΠ».
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ false
, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π° Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π² JavaScript ΠΎΡΠ΅Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ true
ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡΠΈΠ½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² JavaScript: false
, 0
, 0n
, null
, undefined
, NaN
ΠΈ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° 9000 3 "" . ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠ°Π²Π΄Π°.
Β
Number
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΡΠ»Π° Π² JavaScript ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, typeof
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ "number"
:
console.log(typeof 37) // "number" console.log(typeof 2.71828) // "ΡΠΈΡΠ»ΠΎ" console.log(typeof Math.E) // "ΡΠΈΡΠ»ΠΎ" console.log(typeof Infinity) // "ΡΠΈΡΠ»ΠΎ" // Π’ΠΈΠΏ NaN β Β«ΡΠΈΡΠ»ΠΎΒ», Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ NaN ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΠ΅ ΡΠΈΡΠ»ΠΎΒ»: console.log(typeof NaN) // "ΡΠΈΡΠ»ΠΎ" // Π―Π²Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π½ΠΎΠΌΠ΅ΡΠ° β ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° Π½ΠΎΠΌΠ΅ΡΠ°: console. log(typeof Number(`1`)) // "ΡΠΈΡΠ»ΠΎ" // Π€ΡΠ½ΠΊΡΠΈΠΈ parseInt ΠΈ parseFloat β ΡΡΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π·Π±ΠΎΡΠ°: console.log(typeof parseInt(`100`)) // "ΡΠΈΡΠ»ΠΎ" console.log(typeof parseFloat(`100.01`)) // "ΡΠΈΡΠ»ΠΎ" // ΠΡΠΈΠ±ΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ NaN, Π° NaN ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΡΡΠ³ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΡ: console.log(typeof (2 * parseInt(`invalid`))) // "ΡΠΈΡΠ»ΠΎ"
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° NaN
ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΡΠ°ΠΌΠΎΡΠ°Π²Π΅Π½ΡΡΠ²ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ NaN
β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² JavaScript, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠ°Π²Π½ΠΎ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ΅Π±Π΅:
const mayBeNaN = NaN // NaN ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Β«ΠΠ΅-Π°- Π§ΠΈΡΠ»ΠΎ" // ΠΡΠ΅ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ Ρ Π»ΠΎΠΆΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ NaN: console.log(37 === NaN) // Π»ΠΎΠΆΡ console.log(mightBeNaN === NaN) // Π»ΠΎΠΆΡ // NaN β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΡΠ°Π²Π½ΠΎ ΡΠ°ΠΌΠΎΠΌΡ ΡΠ΅Π±Π΅: console.log(mightBeNaN !== mayBeNaN) // true // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ Π΄Π°ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ NaN: console.log(Π½ΠΎΠ²Π°Ρ Π΄Π°ΡΠ°(`invalid`) !== Π½ΠΎΠ²Π°Ρ Π΄Π°ΡΠ°(`invalid`)) // true // ΠΠ»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Number. isNan(): console.log(Number.isNan(mightBeNaN)) // true
Β
BigInt
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° BigInt
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ; typeof
Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ
Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ² Π²Π΅ΡΠ½Π΅Ρ "bigint"
:
console.log(typeof 37n) // bigint
ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ JavaScript ΠΌΠΎΠΆΠ΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π° Number. BigInt ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π»Β», β Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π²Π΅Π±-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ MDN.
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ BigInt
Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ JavaScript ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ES11 (ECMAScript 2020) ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Chrome ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Node.js, Firefox ΠΈ Edge.
Β
String
ΠΠΎΠΆΠ½ΠΎ Π½Π°Π΄Π΅ΡΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠΎΠΊΠΈ Π² JavaScript Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°. typeof
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ "string"
:
console.log(typeof '37') // string console.log(typeof "37") // ΡΡΡΠΎΠΊΠ° console.log(typeof `37`) // ΡΡΡΠΎΠΊΠ° // ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ typeof Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ: console. log(typeof (typeof 37)) // ΡΡΡΠΎΠΊΠ° // Π€ΡΠ½ΠΊΡΠΈΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° String() ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Π² ΡΡΡΠΎΠΊΡ: console.log(Π‘ΡΡΠΎΠΊΠ°(37))
ΠΡΠΈΡΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ.
Β
Π‘ΠΈΠΌΠ²ΠΎΠ»
Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² JavaScript.
Β«ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ²ΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠ°; ΡΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠ΅Π»Ρ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ Β», β Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ Π² Π²Π΅Π±-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ MDN.
ΠΠ°ΠΊ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΠΈΠΏ Symbol()
Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ "ΡΠΈΠΌΠ²ΠΎΠ»"
:
console.log(typeof Symbol()) // ΡΠΈΠΌΠ²ΠΎΠ» console.log(typeof Symbol(37)) // ΡΠΈΠΌΠ²ΠΎΠ» console.log(typeof Symbol.iterator) // ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Uno = Π‘ΠΈΠΌΠ²ΠΎΠ»() const symbolDos = Symbol(37) ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Tres = Π‘ΠΈΠΌΠ²ΠΎΠ»("37") console.log(typeof symbolUno) // ΡΠΈΠΌΠ²ΠΎΠ» console.log(String(symbolTres)) // Π‘ΠΈΠΌΠ²ΠΎΠ»(37) // ΠΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Symbol(), ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ: console. log(Π‘ΠΈΠΌΠ²ΠΎΠ»() === Π‘ΠΈΠΌΠ²ΠΎΠ»()) // Π»ΠΎΠΆΡ console.log(Π‘ΠΈΠΌΠ²ΠΎΠ»(37) === Π‘ΠΈΠΌΠ²ΠΎΠ»(37)) // Π»ΠΎΠΆΡ console.log(Symbol("37") === Symbol("37")) // false
Β
Π€ΡΠ½ΠΊΡΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° typeof
, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ "ΡΡΠ½ΠΊΡΠΈΡ"
:
console.log(typeof function myFunction() {}) // function console.log(ΡΠΈΠΏ ΠΊΠ»Π°ΡΡΠ° myClass {}) // ΡΡΠ½ΠΊΡΠΈΡ console.log(typeof (() => {})) // ΡΡΠ½ΠΊΡΠΈΡ // Π‘ΡΠ΄Π° Π²Ρ ΠΎΠ΄ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Number.isNaN(): console.log(typeof Number.isNaN) // "ΡΡΠ½ΠΊΡΠΈΡ" // ΠΠΎ Π½Π΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ: console.log(typeof "".length) // "ΡΠΈΡΠ»ΠΎ" // Π Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡ ΡΠΈΠΏ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: console.log(typeof Number.isNaN()) // "Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅" console.log(typeof Number.isNaN(37)) // "Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅"
Β
ΠΠ±ΡΠ΅ΠΊΡ (ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡΠΈΠ²)
ΠΠΎΠΊΠ° ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠ°Π²Π½ΠΎ Π½ΡΠ»Ρ, typeof
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ "ΠΎΠ±ΡΠ΅ΠΊΡ"
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ JavaScript.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΈΠΏΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
Π² JavaScript, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ², Π° typeof
ΠΌΠ°ΡΡΠΈΠ²Π° β ΡΡΠΎ "object"
: typeof [] === `object` // true
.
ECMAScript 5 ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΠΌΠ΅ΡΠΎΠ΄ Array.isArray()
Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°Π»ΠΈΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ typeof
Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΠΎΡΠΎΡΠΈΠΏΡ JavaScript Date
ΠΈ RegExp
β Π΄Π²Π° Π΄ΡΡΠ³ΠΈΡ
ΡΠΈΠΏΠ° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π³Π΄Π΅ typeof
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Β«ΠΎΠ±ΡΠ΅ΠΊΡΒ». Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°ΡΡ ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π΄ΠΈΡΡΠ΅ΡΠ΅Π½ΡΠΈΠ°ΡΠΈΠΈ, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° typeof
.
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
const helloWorldObject = { hello: "world" } console.log(typeof helloWorldObject) // 'ΠΎΠ±ΡΠ΅ΠΊΡ' // ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Array.isArray ΠΈΠ»ΠΈ Object.prototype.toString.call // ΡΡΠΎΠ±Ρ ΠΎΡΠ»ΠΈΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² const fibonacciArray = [1, 1, 2, 3, 5, 8] console.log(typeof fibonacciArray) // 'ΠΎΠ±ΡΠ΅ΠΊΡ' console. log(Array.isArray(helloWorldObject)) // Π»ΠΎΠΆΡ console.log(Array.isArray(fibonacciArray)) // ΠΏΡΠ°Π²Π΄Π° // ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ°Π²Π΄Π°, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π½Π°Ρ: console.log(Object.prototype.toString.call(helloWorldObject)) // [ΠΎΠ±ΡΠ΅ΠΊΡ ΠΠ±ΡΠ΅ΠΊΡ] console.log(Object.prototype.toString.call(fibonacciArray)) // [ΠΌΠ°ΡΡΠΈΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²] // Π Π΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, RegExp const myRegExp = /ΠΏΠΎΠΈΡΠΊ/ console.log(typeof myRegExp) // 'ΠΎΠ±ΡΠ΅ΠΊΡ' console.log(myRegExp instanceof RegExp) // true console.log(Object.prototype.toString.call(myRegExp)) // [ΠΎΠ±ΡΠ΅ΠΊΡ RegExp] // Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Date Π²ΡΡΡΠΎΠ΅Π½ Π² JavaScript const emptyDate = Π½ΠΎΠ²Π°Ρ Π΄Π°ΡΠ°() const invalidDate = Π½ΠΎΠ²Π°Ρ Π΄Π°ΡΠ° (Β«ΡΠ±ΠΎΠΉΒ») console.log(typeof emptyDate) // 'ΠΎΠ±ΡΠ΅ΠΊΡ' console.log(typeofvalidDate) // 'ΠΎΠ±ΡΠ΅ΠΊΡ' // ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ console.log(ΠΏΡΡΡΠΎΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Dateof Date) console.log(invalidDate instanceof Date) console.log(Object.prototype.toString.call(invalidDate)) // [ΠΠ°ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°] // ΠΠ°Π΄Π΅ΠΆΠ½Π°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π°ΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ NaN ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ NaN: console. log(invalidDate instanceof Date && !Number.isNaN(invalidDate.valueOf())) // true
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ JavaScript Object.prototype.toString.call()
ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΡΠ΅ΠΌ typeof
.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Array.isArray()
ΠΈΠ»ΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ instanceof
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
Β
ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ±Π΅ΡΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠΈΡΠ΅Π» ΠΈ ΡΡΡΠΎΠΊ Π±ΡΠ΄ΡΡ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ ΡΠΈΠΏΠ°
ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ "ΠΎΠ±ΡΠ΅ΠΊΡ"
Π²ΠΌΠ΅ΡΡΠΎ "Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅"
, "ΡΠΈΡΠ»ΠΎ"
ΠΈΠ»ΠΈ "ΡΡΡΠΎΠΊΠ°"
.
// "Π‘Π»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΎΠΏΠ°ΡΠ½ΠΎ ΠΈ ΡΠ°ΡΡΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΠΈΡ ." -ΠΠΎΠΊΡΠΌΠ΅Π½ΡΡ MDN typeof new Boolean(false) === 'ΠΎΠ±ΡΠ΅ΠΊΡ'; // ΠΈΡΡΠΈΠ½Π½ΡΠΉ typeof new Number(37) === 'ΠΎΠ±ΡΠ΅ΠΊΡ'; // ΠΈΡΡΠΈΠ½Π½ΡΠΉ typeof new String(`Hello World!`) === 'object'; // true
ΠΠ°ΡΠ΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π΅ΡΠ»ΠΈ ΠΈΡ Π½Π΅Π»ΡΠ·Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ²Π½ΠΎ?
ΠΠΎ ΡΡΡΠΈ, Π²ΡΠ·ΠΎΠ² ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ "". length
, ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ JavaScript ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅Ρ ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
"".length === String("").length // true
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π°ΡΡΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ typeof
, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅.
Β
ΠΠΎΡΠ΅ΠΌΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
ΠΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ==
ΠΈ ===
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠ°Π²Π΅Π½ΡΡΠ²Π° Π² JavaScript.
Π ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ new ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
const ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½Π°Ρ ΡΡΡΠΎΠΊΠ° = `Hello world!` // ΡΡΡΠΎΠΊΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° constwrappedString = new String(`Hello world!`) // ΠΎΠ±ΡΠ΅ΠΊΡ-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° console.log (ΡΠΈΠΏ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ) // "ΡΡΡΠΎΠΊΠ°" console.log(typeofwrappedString) // "ΠΎΠ±ΡΠ΅ΠΊΡ" console.log(primitiveString == wrapString) // ΠΏΡΠ°Π²Π΄Π° console.log(primitiveString === wrapString) // false const ΠΏΠΎΡΡΠΈWrappedString = String(`Hello world!`) // Π²ΡΠ·ΠΎΠ² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π±Π΅Π· Π½ΠΎΠ²ΠΎΠ³ΠΎ console. log(ΡΠΈΠΏ ΠΏΠΎΡΡΠΈWrappedString) // "ΡΡΡΠΎΠΊΠ°" console.log(primitiveString === ΠΏΠΎΡΡΠΈWrappedString) // true
ΠΠΎΠΎΠ±ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ JavaScript.
Β
ΠΠ±ΡΠ΅ΠΊΡΡ Typeof ΠΈ Host Π² JavaScript
ΠΠ±ΡΠ΅ΠΊΡΡ Host Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΎΠ½ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄ΠΎΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Ρ ΠΎΡΡ-ΠΎΠ±ΡΠ΅ΠΊΡΡ β ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ JavaScript.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΊΠ½Π°
ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π΄ΠΎΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΠ΅Π΄Π° node.js ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Ρ
ΠΎΡΡΠ°.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°
ΡΠ°ΠΊΠΆΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ
ΠΎΡΡΠ°.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Β«ΠΎΠ±ΡΠ΅ΠΊΡΒ» ΠΊΠ°ΠΊ ΡΠΈΠΏ ΠΈΠ·
Ρ
ΠΎΡΡ-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
typeof window // "object"
Β
ΠΡΡΡ Π»ΠΈ Π±ΡΠ΄ΡΡΠ΅Π΅ Π² JavaScript Π·Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ?
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ JavaScript ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊΠΎΠΌ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΠΏΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, Π½ΠΎ Ρ typeof
Π΅ΡΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΈΠΏΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ TypeScript, ΠΈΠ»ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Flow.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TypeScript ΠΈΠ»ΠΈ Flow ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ, Π½ΠΎ Π·Π° ΡΡΠ΅Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TypeScript ΠΈΠ»ΠΈ Flow Π΄ΠΎΠ±Π°Π²ΠΈΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Π²Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° JavaScript.
ΠΠ»Ρ Π²Π°Π½ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ JavaScript ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ typeof
β ΡΡΠΎ Π²ΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΠΊ ΡΠ΅ΠΌΠΏΠΈΠΎΠ½.
ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ JavaScript. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ www.youtube.com ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ JavaScript, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ Π² Π²Π°ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ typeof Π² JavaScript. | ΠΠΈΠ΄Π΅ΠΎ: Java BrainsΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ JavaScript: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π³Π° ΡΠ±ΠΎΡΠΊΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Npm Π΄Π»Ρ JavaScript β ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±
Β
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Typeof Π² JavaScript
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ typeof
ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠΎΠ² Π² JavaScript, Π½ΠΎ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΠΏΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ typeof
ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ
ΡΠΈΠΏΠΎΠ² Π² JavaScript, Π²ΠΊΠ»ΡΡΠ°Ρ undefined
, string
ΠΈ number
.
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΠ°ΡΡΠΈΠ²
, ΠΠ°ΡΠ°
ΠΈ Π Π΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π° ΡΠΈΠΏ
. ΠΡΠ΅ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ "object"
— ΠΊΠ°ΠΊ ΠΈ null
, Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π² ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠΎΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, typeof
β Π½Π΅ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΡΠΉ, Π½ΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² JavaScript β codemahal
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ JavaScript
π ΠΡΠΎΡ ΡΡΠΎΠΊ Π·Π°ΠΉΠΌΠ΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΌΠΈΠ½ΡΡ
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠΎΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΈΠ· ΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ JavaScript Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ, ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² JavaScript.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡ, ΡΠΈΡΠ»Π° ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ true/false. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ Π΄Π°Π΅ΡΡΡ ΠΈΠΌΡ ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² JavaScript, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ var , Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΠΊΠΎΠ΄Π΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, var score;
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ = Π·Π½Π°ΠΊ, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΎΡΠ΅Π½ΠΊΠ° = 0;
ΠΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ . ΠΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΡΡΡ, Π½ΠΎ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΡΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ΠΈ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΎ ΡΡΡΠΎΡΠ½ΠΎΠΉ Π±ΡΠΊΠ²Ρ, ΠΈ Π΅ΡΠ»ΠΈ ΠΈΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ², ΡΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π΅ΡΠ±Π»ΡΠΆΡΠ΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° (ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΡΠΎΠΏΠΈΡΠ½ΠΎΠΉ Π±ΡΠΊΠ²Ρ), Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. ΠΈΠΌΡ_ΠΌΠΎΠ΅ΠΉ_ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ:
ΡΡΡΠΎΠΊΠ° β ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π±ΡΠΊΠ²Ρ, ΡΠΈΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. Β«Hello worldΒ»
ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ β ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. 5
float β ΡΠΈΡΠ»Π° Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. 5.3
Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ β ΠΈΡΡΠΈΠ½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΄Π²Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠ° Π½ΠΈΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠΊΡΡΡΠΈΡΠ΅ Π²Π½ΠΈΠ·, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°.