html
JavaScript рдирдореНрдмрд░реЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдорд╣рд╛рд░рдд: рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдиреЙрдЯреЗрд╢рдиреНрд╕ рдФрд░ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ
рд╕рд╛рдордЧреНрд░реА рд╕реВрдЪреА
- рдкрд░рд┐рдЪрдп ...................................................... 1
- JavaScript рдореЗрдВ рдирдВрдмрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдордЭрдирд╛ ..... 3
- рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдФрд░ рдбрд┐рдХреНрд░реАрдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ .......... 5
- рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ ................ 8
- рдирдВрдмрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди ........ 12
- рдирдВрдмрд░реЛрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрдВрдХреЗрдЯреЗрдирд╢рди ........... 15
- рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ ................. 18
- рдирд┐рд╖реНрдХрд░реНрд╖ ............................................................ 21
рдкрд░рд┐рдЪрдп
JavaScript, рдПрдХ рдмрд╣реБрдореБрдЦреА рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛, рдирдВрдмрд░реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдФрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЗрди рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рдордЭрдирд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдиреЙрдЯреЗрд╢рдиреНрд╕, рдЖрдкрдХреЗ рдХреЛрдбрд┐рдВрдЧ рдХреА рджрдХреНрд╖рддрд╛ рдФрд░ рдкрдардиреАрдпрддрд╛ рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдИрдмреБрдХ JavaScript рдирдВрдмрд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ/рдбрд┐рдХреНрд░реАрдореЗрдВрдЯ рд╡рд┐рдзрд┐рдпрд╛рдБ, рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕, рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди, рдФрд░ рдирдВрдмрд░реЛрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рдмреАрдЪ рдХреА рдЕрдВрддрд░реНрд╕рдВрдмрдВрдзрддрд╛ред
рдЪрд╛рд╣реЗ рдЖрдк JavaScript рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдХрджрдо рд░рдЦ рд░рд╣реЗ рд╢реБрд░реБрдЖрддреА рд╣реЛрдВ рдпрд╛ рдЕрдкрдиреА рдХреМрд╢рд▓реЛрдВ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╣реЛрдВ, рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдирдВрдмрд░ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╛рдкрдХ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
JavaScript рдореЗрдВ рдирдВрдмрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдордЭрдирд╛
Numbers JavaScript рдХреЗ рдореМрд▓рд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд░рд▓ рдЕрдВрдХрдЧрдгрд┐рдд рд╕реЗ рд▓реЗрдХрд░ рдЬрдЯрд┐рд▓ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рддрдХ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред JavaScript рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирдВрдмрд░реЛрдВ рдХреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╡реЗ рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдФрд░ рджрд╢рдорд▓рд╡ рджреЛрдиреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
- Integer: рдкреВрд░реНрдгрд╛рдВрдХ рдЬреЛ рдмрд┐рдирд╛ рдЖрдВрд╢рд┐рдХ рдШрдЯрдХ рдХреЗ рд╣реЛрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ, 10, -5, 0)ред
- Floating-Point: рджрд╢рдорд▓рд╡ рдмрд┐рдВрджреБ рд╡рд╛рд▓реЗ рдирдВрдмрд░ (рдЬреИрд╕реЗ, 10.5, -3.14)ред
- NaN (Not-a-Number): рдПрдХ рдРрд╕реЗ рдорд╛рди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡реИрдз рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЕрдХреНрд╕рд░ рдЕрд╡реИрдз рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдкред
рдХреНрдпреЛрдВ рдирдВрдмрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ
рдирдВрдмрд░реЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдореИрдирд┐рдкреБрд▓реЗрдЯ рдХрд░рдирд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:
- рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреЛрдВ рдореЗрдВ рдХреИрд▓рдХреБрд▓реЗрд╢рди
- рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
- рдЧреЗрдо рд╡рд┐рдХрд╛рд╕ рдФрд░ рдПрдирд┐рдореЗрд╢рди
- рдпреВрдЬрд░ рдЗрдирдкреБрдЯреНрд╕ рдФрд░ рд╡реИрд▓рд┐рдбреЗрд╢рдиреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛
рдкрд╣рд▓реВ | Integer | Floating-Point | NaN |
---|---|---|---|
рдкрд░рд┐рднрд╛рд╖рд╛ | рдкреВрд░реНрдгрд╛рдВрдХ | рджрд╢рдорд▓рд╡ рд╡рд╛рд▓реЗ рдирдВрдмрд░ | рдЕрд╡реИрдз рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕рдВрдЪрд╛рд▓рди |
рдЙрджрд╛рд╣рд░рдг | 10, -5, 0 | 10.5, -3.14, 0.001 | 0/0, parseInt("abc") |
рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп | рдЖрдЗрдЯрдо рдЧрд┐рдирдирд╛, рд▓реВрдкреНрд╕ | рд╕рдЯреАрдХ рдХреИрд▓рдХреБрд▓реЗрд╢рди | рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди |
рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ Numbers
- Calculations: рдЬреЛрдбрд╝, рдШрдЯрд╛рд╡, рдЧреБрдгрд╛, рдФрд░ рднрд╛рдЧ рдЬреИрд╕реЗ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рдирд╛ред
- Loops and Iterations: рд▓реВрдк рдХрд╛рдЙрдВрдЯрд░реНрд╕ рдФрд░ рдЗрдЯрд░реЗрд╢рдиреНрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ред
- Data Manipulation: рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рдбреЗрдЯрд╛, рдорд╛рдк, рдФрд░ рдЕрдиреНрдп рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ред
рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдФрд░ рдбрд┐рдХреНрд░реАрдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕
JavaScript рдРрд╕реЗ рдСрдкрд░реЗрдЯрд░реНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ рдирдВрдмрд░ рдХреЗ рдорд╛рди рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдпрд╛ рдШрдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрдХ рд╣реЛрддреЗ рд╣реИрдВред рдЗрди рдСрдкрд░реЗрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдФрд░ рдкрдардиреАрдп рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред
The ++ Operator
рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ (++) рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдорд╛рди рдХреЛ рдПрдХ рд╕реЗ рдмрдврд╝рд╛рддрд╛ рд╣реИред
1 2 3 |
let x = 10; x++; console.log(x); // Output: 11 |
рд╡реНрдпрд╛рдЦреНрдпрд╛: x++ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ x рдХреЗ рдорд╛рди рдХреЛ 10 рд╕реЗ 11 рддрдХ рдмрдврд╝рд╛рддрд╛ рд╣реИред
The -- Operator
рдбрд┐рдХреНрд░реАрдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░ (--) рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдорд╛рди рдХреЛ рдПрдХ рд╕реЗ рдШрдЯрд╛рддрд╛ рд╣реИред
1 2 3 |
let x = 10; x--; console.log(x); // Output: 9 |
рд╡реНрдпрд╛рдЦреНрдпрд╛: x-- рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ x рдХреЗ рдорд╛рди рдХреЛ 10 рд╕реЗ 9 рддрдХ рдШрдЯрд╛рддрд╛ рд╣реИред
рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдиреЙрдЯреЗрд╢рдиреНрд╕
рдпреЗ рдСрдкрд░реЗрдЯрд░реНрд╕ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ рдФрд░ рдбрд┐рдХреНрд░реАрдореЗрдВрдЯ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реАрдзреЗ рд▓рдВрдмреЗ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕ рдЬреИрд╕реЗ рдХрд┐ x = x + 1 рд▓рд┐рдЦреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХреЗрдВред
рд╕рдВрдЪрд╛рд▓рди | рд╡рд┐рд╡рд░рдг | рдЙрджрд╛рд╣рд░рдг | рдкрд░рд┐рдгрд╛рдо |
---|---|---|---|
Increment | рдПрдХ рд╕реЗ рдмрдврд╝рд╛рдирд╛ | x++ or ++x | x = 11 |
Decrement | рдПрдХ рд╕реЗ рдШрдЯрд╛рдирд╛ | x-- or --x | x = 9 |
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг
1 2 3 4 5 6 7 8 9 |
let counter = 5; // Using increment operator counter++; console.log(counter); // Output: 6 // Using decrement operator counter--; console.log(counter); // Output: 5 |
рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕
JavaScript рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдСрдкрд░реЗрдЯрд░реНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдпреЗ рдСрдкрд░реЗрдЯрд░реНрд╕ рди рдХреЗрд╡рд▓ рдХреЛрдб рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдмрдирд╛рддреЗ рд╣реИрдВ рдмрд▓реНрдХрд┐ рдкрдардиреАрдпрддрд╛ рдХреЛ рднреА рдмрдврд╝рд╛рддреЗ рд╣реИрдВред
Common Shorthand Operators
- +=
: рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред
- -=
: рдШрдЯрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред
- *=
: рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред
- /=
: рднрд╛рдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛рдЗрди рдХрд░рддрд╛ рд╣реИред
Syntax and Examples
1. Addition Assignment (+=)
1 2 3 |
let x = 10; x += 5; // Equivalent to x = x + 5 console.log(x); // Output: 15 |
2. Subtraction Assignment (-=)
1 2 3 |
let x = 10; x -= 3; // Equivalent to x = x - 3 console.log(x); // Output: 7 |
3. Multiplication Assignment (*=)
1 2 3 |
let x = 5; x *= 5; // Equivalent to x = x * 5 console.log(x); // Output: 25 |
4. Division Assignment (/=)
1 2 3 |
let x = 20; x /= 4; // Equivalent to x = x / 4 console.log(x); // Output: 5 |
Benefits of Shorthand Operators
- рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛: рд▓рд┐рдЦреЗ рдЧрдП рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред
- рд╕реНрдкрд╖реНрдЯрддрд╛: рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рджрдХреНрд╖рддрд╛: рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХрджрдореЛрдВ рдХреЛ рдХрдо рдХрд░рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
Operator | Operation | Equivalent Expression |
---|---|---|
+=
|
рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ | x = x + y |
-=
|
рдШрдЯрд╛рдирд╛ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ | x = x - y |
*=
|
рдЧреБрдгрд╛ рдХрд░рдирд╛ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ | x = x * y |
/=
|
рднрд╛рдЧ рдХрд░рдирд╛ рдФрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ | x = x / y |
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
let x = 10; // Addition x += 5; // x = x + 5 console.log(x); // Output: 15 // Subtraction x -= 3; // x = x - 3 console.log(x); // Output: 12 // Multiplication x *= 2; // x = x * 2 console.log(x); // Output: 24 // Division x /= 4; // x = x / 4 console.log(x); // Output: 6 |
рдирдВрдмрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди
рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╕рдордп, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдРрд╕реЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЬрд┐рдирдХреЗ рдкреНрд░рдХрд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдирдореНрд░рддрд╛ рдкреВрд░реНрд╡рдХ рд╕рдВрднрд╛рд▓рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗред
рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдБ
1. NaN (Not-a-Number)
рдЬрдм рдХрд┐рд╕реА рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдирдВрдмрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдпрд╛ рдЕрдкреНрд░рд╕реНрддреБрддрдиреАрдп рдорд╛рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
1 2 3 |
let x = 10; x = x * "hello"; console.log(x); // Output: NaN |
рд╡реНрдпрд╛рдЦреНрдпрд╛: рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдирдВрдмрд░ рдХреЛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдкрд░ рдЬреЛ рдирдВрдмрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА, NaN рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред
2. Type Mismatch
рдЕрд╕рдВрдЧрдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
1 2 3 |
let age = "twenty"; let x = 10; console.log("My age is " + age); // Output: My age is twenty |
рд╡реНрдпрд╛рдЦреНрдпрд╛: рдЬрдмрдХрд┐ рдХрдВрдХреЗрдЯреЗрдирд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд╕рдВрдЧрдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдпрд╛ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреЗ рд╣реИрдВред
NaN рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛
JavaScript isNaN() рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдХреЛрдИ рдорд╛рди NaN рд╣реИ рдпрд╛ рдирд╣реАрдВред
1 2 |
let result = 0 / 0; console.log(isNaN(result)); // Output: true |
рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдирд╛
1. Type Checking
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рдХрд╛рд░ рд╣реИрдВред
1 2 3 4 5 6 7 8 |
let x = "10"; if (!isNaN(x)) { x = Number(x); x *= 2; console.log(x); // Output: 20 } else { console.log("Invalid number"); } |
2. Using parseInt and
parseFloat
рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирдВрдмрд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВред
1 2 3 4 |
let x = "15"; x = parseInt(x); x += 5; console.log(x); // Output: 20 |
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
let x = 10; // Valid multiplication x *= 5; console.log(x); // Output: 50 // Invalid multiplication leading to NaN x *= "hi"; console.log(x); // Output: NaN // Handling NaN if (isNaN(x)) { console.log("Error: Result is not a number."); } else { console.log(x); } // Output: // 50 // NaN // Error: Result is not a number. |
рдирдВрдмрд░реЛрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдХрдВрдХреЗрдЯреЗрдирд╢рди
JavaScript + рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирдВрдмрд░реЛрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛, рдЬрд┐рд╕реЗ рдХрдВрдХреЗрдЯреЗрдирд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдпрджрд┐ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓реА рдЬрд╛рдП рддреЛ рднреНрд░рдо рдХрд╛ рд╕реНрд░реЛрдд рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред
Overloaded + Operator
+ рдСрдкрд░реЗрдЯрд░ рджреЛрд╣рд░реЗ рдЙрджреНрджреЗрд╢реНрдп рдХреА рд╕реЗрд╡рд╛ рдХрд░рддрд╛ рд╣реИ:
- Numeric Addition: рдЬрдм рджреЛрдиреЛрдВ рдСрдкрд░реЗрдиреНрдб рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВред
- String Concatenation: рдЬрдм рдХрдо рд╕реЗ рдХрдо рдПрдХ рдСрдкрд░реЗрдиреНрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг
1. Numeric Addition
1 2 3 4 |
let x = 10; let y = 5; let sum = x + y; console.log(sum); // Output: 15 |
2. String Concatenation
1 2 3 4 |
let message = "Hello, "; let name = "Alice"; let greeting = message + name; console.log(greeting); // Output: Hello, Alice |
3. Mixed Concatenation
1 2 3 |
let age = 25; let statement = "I am " + age + " years old."; console.log(statement); // Output: I am 25 years old. |
Potential Pitfalls
рдирдВрдмрд░реЛрдВ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдмрд┐рдирд╛ рдЙрдЪрд┐рдд рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
1 2 3 4 |
let x = 10; let y = "5"; let result = x + y; console.log(result); // Output: 105 |
рд╡реНрдпрд╛рдЦреНрдпрд╛: рдЪреВрдВрдХрд┐ рдПрдХ рдСрдкрд░реЗрдиреНрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ, JavaScript рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрдВрдХреЗрдЯреЗрдирд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ "105" рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдмрдЬрд╛рдп рдХрд┐ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЬреЛрдбрд╝ рдХреЗред
Avoiding Unintended Concatenation
1. Explicit Type Conversion
рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдирдВрдмрд░реЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВред
1 2 3 4 |
let x = 10; let y = "5"; let result = x + Number(y); console.log(result); // Output: 15 |
2. Template Literals
рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрдВрдХреЗрдЯреЗрдирд╢рди рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд┐рдЯрд░реЗрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
1 2 3 |
let age = 30; let message = `I am ${age} years old.`; console.log(message); // Output: I am 30 years old. |
рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
let x = 10; let age = 25; // Numeric addition let sum = x + age; console.log(sum); // Output: 35 // String concatenation let statement = "I am " + age + " years old."; console.log(statement); // Output: I am 25 years old. // Mixed operation leading to concatenation let mixed = x + " and " + age; console.log(mixed); // Output: 10 and 25 // Avoiding unintended concatenation let safeSum = x + Number("5"); console.log(safeSum); // Output: 15 |
рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдВ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ
JavaScript рдореЗрдВ рдирдВрдмрд░ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╕рдордЭрдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИ рдмрд▓реНрдХрд┐ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдЧрд░реВрдХ рд░рд╣рдиреЗ рдореЗрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
Best Practices
1. Consistent Type Usage
рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╕реБрд╕рдВрдЧрддрддрд╛ рдмрдирд╛рдП рд░рдЦреЗрдВред
1 2 |
let count = 10; // Number // Use 'count' as a number throughout |
2. Explicit Type Conversion
рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВред
1 2 |
let strNumber = "20"; let actualNumber = parseInt(strNumber, 10); |
3. Use Template Literals for Strings
рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рдкрдардиреАрдпрддрд╛ рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреНрд╖рдорддрд╛ рдмрдврд╝рд╛рдПрдВред
1 2 |
let name = "Bob"; let greeting = `Hello, ${name}!`; |
4. Error Handling
рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдирдореНрд░рддрд╛ рдкреВрд░реНрд╡рдХ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
1 2 3 4 |
let result = x / y; if (isNaN(result)) { console.error("Invalid division operation."); } |
Common Pitfalls
1. Implicit Type Conversion
JavaScript рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░рдХрд╛рд░ рдХрдирд╡рд░реНрдЬрд╝рди рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдирд╛ рдмрдЧреНрд╕ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
1 2 |
let result = "5" - 2; // Output: 3 (JavaScript converts "5" to 5) let wrongResult = "5" + 2; // Output: "52" (String concatenation) |
2. Handling NaN
NaN рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ рдЕрдиреНрдпрдерд╛ рдпрд╣ рдЧрдгрдирд╛рдУрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
1 2 3 |
let x = "hello" * 5; console.log(x); // Output: NaN // Further operations with x will propagate NaN |
3. Division by Zero
рд╢реВрдиреНрдп рд╕реЗ рднрд╛рдЧ рдХрд░рдиреЗ рдкрд░ Infinity рдпрд╛ -Infinity рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред
1 2 |
let result = 10 / 0; console.log(result); // Output: Infinity |
4. Floating-Point Precision
JavaScript рдореЗрдВ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдЯреАрдХрддрд╛ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
1 |
console.log(0.1 + 0.2); // Output: 0.30000000000000004 |
рдкрд╣рд▓реВ | Best Practice | Common Pitfall |
---|---|---|
Type Consistency | рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ | рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдирдВрдмрд░ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдорд┐рд╢реНрд░рд┐рдд рдХрд░рдирд╛ |
Type Conversion | рдЬрдм рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ | рдЕрд╕реНрдкрд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХрдирд╡рд░реНрдЬрд╝рди рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдирд╛ |
String Operations | рдЯреЗрдореНрдкрд▓реЗрдЯ рд▓рд┐рдЯрд░реЗрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ | рдмрд┐рдирд╛ рдзреНрдпрд╛рди рджрд┐рдП рдирдВрдмрд░ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ |
Error Handling | NaN рдФрд░ Infinity рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪреЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВ | рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ |
Floating-Point Arithmetic | рд╕рдЯреАрдХрддрд╛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдпрд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ | рдЧрдгрдирд╛рдУрдВ рдореЗрдВ рд╕рдЯреАрдХрддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ |
рдирд┐рд╖реНрдХрд░реНрд╖
JavaScript рдХреЗ рдирдВрдмрд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рд▓рдЪреАрд▓рд╛рдкрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдФрд░ рдкрдардиреАрдп рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЯреВрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ/рдбрд┐рдХреНрд░реАрдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕, рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдСрдкрд░реЗрдЯрд░реНрд╕ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдХреЗ, рдФрд░ рдкреНрд░рдХрд╛рд░ рдХрдирд╡рд░реНрдЬрд╝рди рдФрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдХрд░, рдЖрдк рдЕрдкрдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдХреЛ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдордЬрдмреВрдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛, рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╕рддрд░реНрдХ рд░рд╣рдирд╛, рдФрд░ JavaScript рдХреЗ рдирдВрдмрд░ рдореИрдХреЗрдирд┐рдХреНрд╕ рдХреА рд╕рдордЭ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде, рдЖрдк рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╛рдкрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИрдВред
SEO Keywords: JavaScript number operations, shorthand notations, increment operator, decrement operator, shorthand assignment operators, handling NaN, JavaScript best practices, number data types, JavaScript concatenation, error handling in JavaScript, JavaScript arithmetic operations, type conversion in JavaScript, floating-point precision.
Note: This article is AI generated.