JAVASCRIPT

OPP ენა, მასთან ერთად ყველა FRAMEWORK

რა არის Scope?

რა არის Scope?

(არა, პლებეური ცრუ ღმერთი არასწორია) Scope - განსაზღვრის არე არის წესების ნაკრები, ცვლადის მისი სახელის (იდენტიფიკატორის) მიხედვით მოსაძებნად. თუკი თქვენ რომელიმე კლასიკურ დაპროგრამების ენას ფლობთ (მაგ: C++, Java, C# და ა.შ.) ალბათ გსმენიათ ლოკალურ და გლობალურ ცვლადებზე: var globalVar; // ეს ცვლადი გლობალურია int main(){ // #1 ბლოკი var mainVar; // ეს ცვლადი ლოკალურია main ფუნქციაში someVar = 2; // გამოიწვევს შეცდომას { // #2 ბლოკი var tmpVar; // ეს ცვლადი ლოკალურია ამ ბლოკში } // tmpVar იშლება მეხსიერებიდან tmpVar = 3; // გამოიწვევს შეცდომას return 0; } // mainVar იშლება მეხსიერებიდან // პროგრამის დასრულების შემდეგ globalVar წაიშლება მეხსიერებიდან აქ ყველაფერი მარტივადაა: ცვლადები ბლოკებს შორის, იმავე ბლოკისათვის ლოკალურია და ხელმისაწვდ
Ethical Hacking with JavaScript

Ethical Hacking with JavaScript

წელი: 10/2018შემქნელი: LinkedIn Learningავტორი: Emmanuel Henriხანგრძლივობა: 0:32ენა: ინგლისურიაღწერა: Web applications combine complexity and exposure to networks. JavaScript and the web offer great power, but also many opportunities to leave doors open to hackers. Ethical hacking lets you find those open doors before they can be exploited, and ensure that your sites and applications stay safe. This course was designed to equip JavaScript developers with ethical hacking techniques and tools that can help them boost the security of their JavaScript code. Instructor Emmanuel Henri shows how to put together an attack strategy and do some reconnaissance work using key tools, including Snyk, which automates finding and fixing vulnerabilities in projects. He also dives into some of
React в действии

React в действии

წელი: 2019ავტორი: Томас М.Т. ISBN: 978-5-4461-0999-9 სერია: პროფსიონალებისთვის ენა: Русский ფორმატი:PDF აღწერა: Книга «React в действии» знакомит фронтенд-разработчиков с фреймворком React и смежными инструментами. Сначала вы познакомитесь с библиотекой React, затем освежите материал о некоторых фундаментальных идеях в данном контексте и узнаете о работе с компонентами. Вы на практике освоите чистый React (без транспиляции, без синтаксических помощников), перейдете от простейших статических компонентов к динамическим и интерактивным. Во второй половине книги рассмотрены различные способы взаимодействия с React. Вы изучите базовые методы жизненного цикла, научитесь создавать поток данных, формы, а также тестировать приложения. На закуску вас ждет материал об архитектуре React-прил
ისწავლე React

ისწავლე React

წელი 2018ავტორი: Wieruch R., Pyltsyn A.გვერდები: 231აღწერა: React в последнее время выигрывает на фоне других jаvascript библиотек своей популярностью, что делает изучение её ещё более обязательным и полезным для разработчиков на jаvascript. Это руководство представляет из себя путеводитель по технологии, в котором рассказывается, как правильно изучать React, с чего начинать и какие источники ещё смотреть. Также вы познакомитесь с ES6 и напишите множество готовых веб-приложений. ჩამოტვირთვა
რეკურსიული ფუნქციები

რეკურსიული ფუნქციები

ფუნქციებს შორის შეიძლება ცალკე გამოვყოთ რეკურსიული ფუნქციები. მათი არსი მდგომარეობს იმაში, რომ ფუნქცია იძახებს თავის თავს. მაგალითისთვის ვნახოთ ფუნქცია, რომელიც ითვლის რიცხვის ფაქტორიალს: function getFactorial(n) { if (n === 1) { return 1; } else { return n * getFactorial(n - 1); } } var result = getFactorial(4); console.log(result); // 24 ფუნქცია getFactorial() აბრუნებს 1-ს, თუ n პარამეტრის მნიშვნელობაა 1, თუ არა და აბრუნებს ისევ getFactorial() ფუნქციის მნიშვნელობას პარამეტრით n-1, გამრავლებულს n-ზე.მაგალითად, პარამეტრად 4-ის გადაცემისას ვღებულობთ შემდეგ ჯაჭვს: var result = 4 * getFactorial(3); var result = 4 * 3 * getFactorial(2); var result = 4 * 3 * 2 * getFactorial(1); var result = 4 * 3 * 2 * 1; // 24 ვნახოთ მეორე მაგალითი - ფიბონაჩის რიცხვების გამოთვლა:
ცვლადების ხედვის არე

ცვლადების ხედვის არე

ჯავასკრიპტში ყველა პარამეტრს აქვს გარკვეული ხედვის არე, რომლის ფარგლებშიც ისინი მოქმედებენ. გლობალური ცვლადები ყველა ცვლადი, რომელიც გამოცხადებულია ფუნქციის გარეთ, არის გლობალური: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <script> var x = 5; function displaySquare() { var z = x * x; console.log(z); } </script> </body> </html> აქ ცვლადი x არის გლობალური, მასზე მიმართვა შეიძლება პროგრამის ნებისმიერი ადგილიდან. ხოლო ცვლადი z არაა გლობალური, რადგანაც გამოცხადებულია ფუნქციის შიგნით. ლოკალური ცვლადები ცვლადი, რომელიც გამოცხადებულია ფუნქციის შიგნით, წარმოადგენს ლოკალურ ცვლადს: function displaySquare() { var z = 10; console.log(z); } ცვლადი z ლოკალურია და ის არსებობს მხოლოდ ფუ
ფუნქციები

ფუნქციები

უნქცია წარმოადგენს ინსტრუქციების ერთობლიობას, რომლებიც ასრულებენ გარკვეულ მოქმედებას ან ითვლიან გარკვეულ მნიშვნელობას. ფუნქციის სინტაქსს აქვს შემდეგი სახე: function ფუნქციის_სახელი([პარამეტრი [, ...]]) { // ინსტრუქციები } ფუნქციის განსაზღვრა იწყება საკვანძო სიტყვით function, რასაც მოსდევს ფუნქციის სახელი. ფუნქციის დასახელება ექვემდებარება იგივე წესებს, რასაც ცვლადების სახელები. შესაბამისად, ფუნქციის სახელი უნდა შედგებოდეს ასოებისგან, ციფრებისგან და სიმბოლოებისგან "_" და "$". ამასთან, ფუნქციის სახელი არ უნდა იწყებოდეს ციფრით. ფუნქციის სახელის შემდეგ მოდის პარამეტრების ჩამონათვალი. ფუნქციას თუნდაც არ ჰქონდეს პარამეტრი, მაინც უნდა დავსვათ ცარიელი ფრჩხილები. შემდეგ ფიგურულ ფრჩხილებში მოდის ფუნქციის ტანი, რომელიც შეიცავს ინსტრუქციების ერთობლიობას. შევქმნათ უმარტივესი ფუნქცია: funct
ციკლები

ციკლები

ციკლები საშუალებას იძლევა გარკვეული პირობების მიხედვით შესრულდეს რაღაც მოქმედებები მრავალჯერ. ჯავასკრიპტში გამოიყენება ციკლის შემდეგი სახეები: for for..in while do..while ციკლი for ციკლს for აქვს შემდეგი სახე: for ([მრიცხველის ინიციალიზაცია]; [პირობა]; [მრიცხველის შეცვლა]) { // მოქმედებები } მაგალითად, გამოვიყენოთ ციკლი მასივის ელემენტების გადასარჩევად: var people = ["Tom", "Alice", "Bob", "Sam"]; for(var i = 0; i<people.length; i++){ document.write(people[i] + "</br>"); } ციკლის პირველი ნაწილი - var i = 0; ახდენს მრიცხველის (ცვლადი i) ინიციალიზაციას. ციკლის დაწყების წინ მისი მნიშვნელობა იქნება 0. მეორე ნაწილი წარმოადგენს პირობას, რომლის შესრულებისას სრულდება ციკლი. მოცემულ შემთხვევაში, ციკლი შესრულდება მანამ, სანამ i-ს მნიშვნელობა არ მიარჭევს მასივის სიგრ
პირობითი კონსტრუქციები

პირობითი კონსტრუქციები

პირობითი კონსტრუქციები საშუალებას გვაძლევს შევასრულოთ ესა თუ ის მოქმედება პირობიდან გამომდინარე. ოპერატორი if ოპერატორი if ამოწმებს გარკვეულ პირობას და თუ ეს პირობა ჭეშმარიტია, ასრულებს გარკვეულ მოქმედებას. if კონსტრუქციას აქვს შემდეგი სახე: if(პირობა) მოქმედება; მაგალითად: var income = 100; if(income > 50) alert("შემოსავალი მეტია 50-ზე"); თუ საჭიროა ერთზე მეტი ინსტრუქციის შესრულება, ეს ინსტრუქციები თავსდება ფიგურული ფრჩხილებით შექმნილ ბლოკში: var income = 100; if(income > 50){ var message = "შემოსავალი მეტია 50-ზე"; alert(message); } პირობა შეიძლება იყოს რთული: var income = 100; var age = 19; if(income < 150 && age > 18){ var message = "შემოსავალი მეტია 50-ზე"; alert(message); } კონსტრუქცია  if შესაძლებლობას გვაძლევს შევამოწმოთ მნიშვნელობის
მასივები

მასივები

მონაცემთა ნაკრებისთვის გამოიყენება მასივები. მასივის შესაქმნელად გამოიყენება ფუნქცია new Array(): var myArray = new Array(); არსებობს მასივის ინიციალიზაციის უფრო მოკლე ხერხიც: var myArray = []; მოცემულ შემთხვევაში ჩვენ ვქმნით ცარიელ მასივს. თუმცა შეიძლება დავამატოთ საწყისი მონაცემები: var people = ["Tom", "Alice", "Sam"]; console.log(people); ამ შემთხვევაში მასივში myArray იქნება სამი ელემენტი. გრაფიკულად შეიძლება გამოვსახოთ ასე: ინდექსი ელემენტი 0 Tom 1 Alice 2 Sam მასივის ცალკეულ ელემენტებთან მიმართვისთვის გამოიყენება ინდექსი. ათვლა იწყება ნულიდან, შესაბამისად პირველი ელემენტის ინდექსი არის 0, ხოლო ბოლო ელემენტისა - 2: var people = ["Tom", "Alice", "Sam"]; console.log(people[0]); // Tom var person3 = people[2]; // Sam console.log(pers
მონაცემების გარდაქმნა

მონაცემების გარდაქმნა

ხშირად ჩნდება საჭიროება, რომ ერთი ტიპის მონაცემები გარდავქმნათ მეორე ტიპში. მაგალითად: var number1 = "46"; var number2 = "4"; var result = number1 + number2; console.log(result); //464 ორივე ცვლადი წარმოადგენს სტრიქონს, უფრო სწორად, რიცხვის სტრიქონულ წარმოდგენას. შეკრების შედეგად ვღებულობთ არა 50-ს, არამედ სტრიქონს 464. ხანდახან რიცხვების სტრიქონულ წარმოდგენაზე საჭიროა რიცხვითი ოპერაციების წარმოება. ასეთ შემთხვევებში იყენებენ გარდაქმნის ოპერაციებს. გამოვიყენოთ ფუნქცია parseInt(): var number1 = "46"; var number2 = "4"; var result = parseInt(number1) + parseInt(number2); console.log(result); // 50 სტრიქონების ათწილადად გარდაქმნისთვის გამოიყენება ფუნქცია parseFloat(): var number1 = "46.07"; var number2 = "4.98"; var result = parseFloat(number1) + parseFloat(number2); console
ოპერაციები ცვლადებზე

ოპერაციები ცვლადებზე

მათმატიკური ოპერაციები JavaScript-ს გააჩნია ყველა საბაზისო მათემატიკური ოპერაციის მხარდაჭერა: შეკრება: var x = 10; var y = x + 50; გამოკლება: var x = 10; var y = x - 50; გამრავლება: var x = 10; var y = x * 50; გაყოფა: var x = 10; var y = x / 50; ნაშთი გაყოფისას (ოპერატორი %): var x = 41; var y = 7; var z = x % y; console.log(z); // 6 აბრუნებს 6-ს, რადგან 41 ზე ნაკლები ან ტოლი უდიდესი რიცხვი, რომელიც იყოფა 5-ზე არის 35, 41-35=6. ინკრემენტი: var x = 5; x++; // x = 6 ინკრემენტის ოპერატორი ზრდის ცვლადს 1 ერთეულით. არსებობს პრეფიქსული ინკრემენტი, რომელიც ჯერ ზრდის ცვლადს და მერე აბრუნებს მის მნიშვნელობას, და პოსტფიქსური ინკრემენტი, რომელიც ჯერ მნიშვნელობას აბრუნებს და მერე ცვლის ცვლადს: // პრეფიქსული ინკრემენტი var x = 5; var z = ++x; console.log(x); // 6 console.log(z); // 6
მნიშვნელობათა ტიპები

მნიშვნელობათა ტიპები

ჯავასკრიპტში გამოყენებულ ნებისმიერ მონაცემს გააჩნია განსაზღვრული ტიპი. ჯავასკრიპტში გვაქვს 5 პრიმიტიული მონაცემთა ტიპი: string: წარმოადგენს სტრიქონს (ტექსტს) number: წარმოადგენს რიცხვით მნიშვნელობას Boolean: წარმოადგენს ლოგიკურ მნიშვნელობას true ან false undefined: მიუთითებს, რომ მნიშვნელობა არ აქვს მინიჭებული null: მიუთითებს განუსაზღვრელ მნიშვნელობას ნებისმიერი სხვა მონაცემი, რომელიც არ განეკუთვნება ჩამოთვლილ ტიპებს, მიეკუთვნება ტიპს object. რიცხვითი მონაცემები JavaScript-ში რიცხვებს შეიძლება ჰქონდეთ ორი ფორმა: მთელი რიცხვები, მაგალითქად, 35. შეგვიძლია გამოვიყენოთ როგორც დადებითი, ასევე უარყოფითი რიცხვები. გამოყენებული რიცხვების დიაპაზონია -253 -დან 253-მდე. ათწილადები (რიცხვები მცურავი წერტილით), მაგალითად 3.5575. აქაც შეგვიძლია გამოვიყენოთ როგორც და