Welcome to the Armenian JavaScript Community Repository. This space serves as a modest collection of resources, articles, and discussions focused on JavaScript programming language. Initially shared on a Facebook page of the same name, this repository aims to extend our reach to a broader audience interested in JavaScript, particularly in the Armenian language.
Here, we offer a variety of materials that range from basic concepts for beginners to more complex topics for experienced developers. The repository includes practical tasks and common programming problems, accompanied by various solutions and explanations. Our goal is to provide a platform for learning, sharing, and growing together as a community.
The contents are regularly updated to reflect new insights and developments in JavaScript. This ensures that the information remains relevant and useful for anyone interested in this programming language.
We welcome all who are curious about JavaScript, whether you are just starting out or looking to expand your existing knowledge. Join us in exploring the intriguing world of JavaScript programming, and feel free to contribute or share your insights.
Thank you for visiting, and we hope you find the resources here helpful in your programming journey!
This project is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License - see the LICENSE file for details.
Below is a list of our publications for easier navigation:
- Թարգմանության ֆրագմենտ «Brendan Eich - Popularity» էսսեյից
- Ի՞նչ է իրենից ներկայացնում ECMAScript-ը և ինչո՞վ է այն տարբերվում JavaScript-ից
- Ո՞րն է Null-ի և Undefined-ի նմանությունն ու տարբերությունը
- Ինչ տարբերություններ կան BigInt և Number տվյալների տիպերի միջև: Number տիպի ո՞ր թերությունները ստիպեցին JavaScript ծրագրավորման լեզվում ավելացնել նոր տվյալների տիպը՝ BigInt-ը
- JavaScript-ի զվարճալի տարօրինակությունները։ Մաս 1
- JavaScript… Ամենաէլեգանտ և միաժամանակ ամենաթերագնահատված լեզուն
- Խնդիր համար 1 - Պալինդրոմ (Palindrome)
- JavaScript-ի զվարճալի տարօրինակությունները։ Մաս 2
- Խնդիր համար 2 - Գտնել ձայնավորների քանակը բառի մեջ
- Ինչպես մնացորդով թվերից ստանալ ամբողջ թիվ, և ինչ մեթոդներ կան ստուգելու արդյո՞ք թիվը ամբողջ է թե ոչ
- Ստեղծենք ՖՈՒՆԿՑԻԱ, որը շատ ավելի ճշգրիտ է աշխատում և անհամեմատ օգտակար է, քան typeof օպերատորը
- Խնդիր համար 3 - Ի՞նչպես ստուգել թիվը պարզ է թե բաղադրյալ, ի՞նչպես գտնել մինչև տրված թիվը եղած բոլոր պարզ թվերը և «Էրատոսթենեսի մաղի» ալգորիթմը (Sieve of Eratosthenes)
- Map տվյալների կառուցվածքը. Փորձենք համեմատել օբյեկտների հետ. Ի՞նչ առավելություններ և թերություններ ունի
- Խնդիր համար 4 - Գտնել Ֆիբոնաչչիի հաջորդականության n-երորդ թիվը
- Set տվյալների կառուցվածքը: Փորձենք համեմատել զանգվածի հետ: Ո՞ր դեպքերում այն հիանալի այլընտրանք կլինի զանգվածին
- JavaScript-ի զվարճալի տարօրինակությունները։ Մաս 3
- Ինչպես որոնել տառը, բառը կամ ենթատողը տեքստի մեջ։ indexOf, lastIndexOf մեթոդների կիրառությունը
- Տեքստից ենթատեքստի ստացումը: Ի՞նչ մեթոդներ կան, ո՞րն է այդ մեթոդներից ամենաճկունը
- Ի՞նչպես կատարել զանգվածի տեսակավորում՝ (sorting) օգտագործելով ներդրված sort մեթոդը։ Ի՞նչու երբ տեսակավորում ենք թվերի զանգված, արդյունքը կարող է մեզ անակնկալի բերել, և ի՞նչպես կարող ենք որպես արգումենտ փոխանցվող ֆունկցիայի օգնությամբ ստանալ ճիշտ տեսակավորված թվերի զանգված։ Ի՞նչպես ստանալ էլեմենտների պատահական դասավորվածությամբ զանգված
- Մնացորդով բաժանման օպերատորը JavaScript-ում (%): Ինչպե՞ս օգտվելով մնացորդով բաժանումից արտածել տրված թիվը հակառակ հերթականությամբ(«Շրջել» այն)
- Ի՞նչ է NaN-ը և ինչպե՞ս ստուգել արժեքն արդյոք հավասար է NaN-ի: Ինչպե՞ս հնարավորինս խուսափել իրավիճակներից, որոնց արդյունքում կստանանք NaN: Նաև մի փոքր անվերջության և մինուս անվերջության մասին
- Խիստ ռեժիմը JavaScript-ում ("Strict mode"): Ինչու է անհրաժեշտ այն ակտիվացնել և ինչ առավելություններ ունի «սովորական» ռեժիմի հետ համեմատած
- Փոխգործակցությունը բրաուզերների հետ։ alert, prompt և confirm ֆունկցիաները։ Ի դեպ այս ֆունկցիաներն անմիջականորեն կապ չունեն JavaScript ծրագրավորման լեզվի ստանդարտի հետ, այլ բրաուզերի API-ին են պատկանում և նկարագրությունը մանրամասն տրվում է HTML Living Standard-ի մեջ։ Նաև առանց բարդ տերմինների, հնարավորինս մատչելի կբացատրեմ թե ինչ է API-ը
- Ի՞նչ է անագրամը: Ստեղծել ֆունկցիա, որը կստուգի թե տրված երկու բառերն արդյո՞ք անագրամ են
- CSS-ում կա {text-transform: capitalize} հատկությունը, որը տրված տեքստի յուրաքանչյուր բառի առաջին տառը վերափոխում է մեծատառի։ Մեր խնդիրն է JavaScript-ում ստեղծել ֆունկցիա, որը կանի նմանատիպ գործողություն
- Արդյո՞ք JavaScript-ի մայրամուտը մոտ է: Համացանցում պարբերաբար տարածվում են սենսացիոն նորություններ` մրցակից նոր ծրագրավորման լեզուների և տեխնոլոգիաների ի հայտ գալու մասին: ClojureScript, Elm, Dart և իհարկե հեղափոխական WebAssembly: Արդյո՞ք հիմնավոր են այդ կանխատեսումները
- Ի՞նչ հիմնական տիպերի են բաժանվում աղբյուրային կոդի խմբագրիչները (Source-code editor): Այնուամենայնիվ ո՞ր խմբագրիչն է ամենահարմարը վեբ ծրագրավորման մեջ օգտագործելու համար
- Տիպերի վերափոխումը JS-ում։ Ի՞նչ հնարավորություններ և ծուղակներ ունի իր մեջ ԹՈՒՅԼ տիպաբանությունը։ Ուղղակի և անուղղակի վերափոխումներ
- ** օպերատորը JavaScript-ում: Իսկ դուք գիտե՞ք, որ այն կարելի է օգտագործել նաև արմատ հանելու համար: Ուրիշ էլ ի՞նչ հետաքրքիր առանձնահատկություններ ունի այն
- IT-նախագծերի համատեղ մշակման և հոսթինգի համար նախատեսված խոշորագույն վեբ-ծառայություն Github-ը ամփոփում է տարին։ Ի՞նչ եք կարծում, որն է անցնող 2020 թվականի ամենահանրաճանաչ ծրագրավորման լեզուն
- Հավասարության (equality) և խիստ հավասարության (identity) օպերատորները JavaScript-ում։ ES6 ստանդարտում ստեղծվել է նոր մեթոդ՝ Object.is, որի օգնությամբ կարելի է համեմատել մեծություններն ինչպես խիստ հավասարության դեպքում: Այնուամենայնիվ որոշակի տարբերություններ կան խիստ հավասարության օպերատորի և Object.is մեթոդի միջև, կխոսենք նաև այդ մասին
- Հաշվարկման երկուական համակարգն ինֆորմատիկայում: Ինչպե՞ս արագ և հեշտ տասական հաշվարկման համակարգով ներկայացված թիվը վերածել երկուական համակարգով ներկայացված թվի: JavaScript-ում ինչպե՞ս ներկայացնել երկուական հաշվարկման համակարգի թվերը: Կատարենք մի հաշվարկման համակարգից անցում մյուսին՝ օգտվելով JavaScript-ում ներդրված toString մեթոդից
- Ստորակետ (comma) օպերատորը JavaScript-ում: Ստորակետը որպես տարանջատիչ և որպես օպերատոր
- Տվյալների Տրամաբանական կամ Բուլյան տիպը (logical data type or Boolean) JavaScript-ում: Նաև այն մասին, թե ինչու՞ է տվյալների այդ տիպն անվանվել Բուլյան
- ?? (nullish coalescing) օպերատորը JavaScript-ում: Ինչո՞վ է այն տարբերվում տրամաբանական || (OR)-ից
- Աշխարհում ամենատարածված խաղերից մեկի՝ ՏԵՏՐԻՍԻ ստեղծման պատմությունը: Ի՞նչ կապ ունի ՀՀ նախկին նախագահ Արմեն Սարգսյանը Տետրիսի ստեղծման հետ։ Նաև կգտնեք հղումներ, որոնց օգնությամբ կարող եք JavaScript ծրագրավորման լեզվով ստեղծել Տետրիս և խաղալ
- Անհրաժեշտ է ստեղծել ֆունկցիա, որը որպես արգումենտ կստանա բազմաչափ զանգված և կվերադարձնի նոր միաչափ զանգված՝ բաղկացած բազմաչափ զանգվածի բոլոր ներդրվածության մակարդակներում գտնվող էլեմենտներից
- if else կոնստրուկցիան (շատ հաճախ անվանում են նաև ճյուղավորման կամ պայմանի օպերատոր) գործնականում մեծամասամբ շատ հեշտ կարելի է փոխարինել switch case կոնստրուկցիայով: Ո՞ր դեպքերում է այդ փոփոխությունն արդարացված և կա՞ արդյոք արտադրողականության տարբերություն այդ երկու հիմնական ճյուղավորման կոնստրուկցիաների միջև
- JavaScript-ի զվարճալի տարօրինակությունները շարքից: Մաս 4
- Ծրագրավորողների հիմնական տիտղոսներին (Junior, Middle, Senior) ներկայացվող պահանջները
- Դուգլաս Քրոքֆորդն իրավմամբ համարվում է JavaScript ծրագրավորման լեզվի «ավետարանիչը»: Լինելով լեզվի կառուցողական քննադատներից մեկը՝ նա ամեն ինչ արել է JavaScript-ի բարեփոխմանն ու զարգացմանը նպաստելու, և այն հանրաճանաչ դարձնելու համար: Բավական է ասել, որ նա JSON-ի, JSLint-ի և JSMin-ի հեղինակն է: 2018 թվականին լույս տեսավ նրա «How JavaScript works» գիրքը, որը JavaScript ծրագրավորման լեզվի մասին լավագույն գրքերից մեկն է
- Ի՞նչ կլինի եթե for ցիկլի կառուցվածքային մասերից որևէ մեկը կամ մի քանիսը բաց թողենք: Նաև մանրամասն կդիտարկենք for ցիկլի աշխատանքային քայլերի հաջորդականությունը