{"id":28443099,"url":"https://github.com/developer-mustafa/learn-javascript","last_synced_at":"2026-01-29T22:03:00.593Z","repository":{"id":157019757,"uuid":"522013166","full_name":"developer-mustafa/learn-javascript","owner":"developer-mustafa","description":"learn JavaScript Docs","archived":false,"fork":false,"pushed_at":"2022-08-06T17:39:32.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-29T11:38:14.406Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/developer-mustafa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-06T17:36:56.000Z","updated_at":"2022-08-12T19:37:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"85594d50-b7e3-45dc-8adb-7dd91d6c0370","html_url":"https://github.com/developer-mustafa/learn-javascript","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/developer-mustafa/learn-javascript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-mustafa%2Flearn-javascript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-mustafa%2Flearn-javascript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-mustafa%2Flearn-javascript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-mustafa%2Flearn-javascript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/developer-mustafa","download_url":"https://codeload.github.com/developer-mustafa/learn-javascript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/developer-mustafa%2Flearn-javascript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28886881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-29T21:06:44.224Z","status":"ssl_error","status_checked_at":"2026-01-29T21:06:42.160Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-06T06:40:54.328Z","updated_at":"2026-01-29T22:03:00.587Z","avatar_url":"https://github.com/developer-mustafa.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\n1. জাভাস্ক্রিপ্ট কি?\nযদি খুব সহজে বলি তাহলে জাভাস্ক্রিপ্ট ইন্টারনেটে ব্যবহৃত সবচেয়ে জনপ্রিয় স্ক্রিপ্টিং ল্যাংগুয়েজ। জাভাস্ক্রিপ্ট হল একটি ক্লায়েন্ট সাইড স্ক্রিপ্টিং বা ব্রাউজার স্ক্রিপ্টিং ল্যাংগুয়েজ। সেই সাথে জাভাস্ক্রিপ্ট একটি ওবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এতে আছে ডেটা টাইপ, অপারেটর, গুরুত্বপূর্ণ কিছু অবজেক্ট আর ফাংশন বা মেথড।\n\n2. জাভাস্ক্রিপ্ট কিভাবে কাজ করে?\nযখন JavaScript ফাইলটি ব্রাউজারে লোড করা হয়, তখন JavaScript ইঞ্জিন ফাইলের প্রতিটি লাইনকে উপরে থেকে নীচে চালাবে। এটি একটি interpreted programming language তাই সোর্স কোড এক্সিকিউশনের আগে বাইনারি কোডে কম্পাইল করা হয় না। জাভাস্ক্রিপ্ট ইঞ্জিন কোড লাইন থেকে লাইন পার্স করবে, এটিকে মেশিন কোডে রূপান্তর করবে এবং তারপর এটি কার্যকর করবে। জাভাস্ক্রিপ্ট ইঞ্জিন হল একটি কম্পিউটার প্রোগ্রাম যা জাভাস্ক্রিপ্ট কোড কার্যকর করে। জাভাস্ক্রিপ্ট ইঞ্জিনগুলি আজকের সমস্ত আধুনিক ব্রাউজারে অন্তর্নির্মিত, প্রতিটি ব্রাউজারের নিজস্ব জাভাস্ক্রিপ্ট ইঞ্জিন আছে কিন্তু সবচেয়ে পরিচিত ইঞ্জিন হল Google এর V8।\n\nযেকোনো জাভাস্ক্রিপ্ট ইঞ্জিনে সর্বদা একটি কল স্ট্যাক এবং একটি memory heap থাকে। কল স্ট্যাক হল যেখানে আমাদের কোড আসলে কার্যকর করা হয়। তারপর memory heap হল একটি অসংগঠিত মেমরি পুল যা আমাদের অ্যাপ্লিকেশনের প্রয়োজনীয় সমস্ত বস্তু সংরক্ষণ করে।\n\n3. জাভাস্ক্রিপ্ট ভেরিয়েবল কি?\nভেরিয়েবল বলতে এমন কিছুকে বোঝানো হয়ে থাকে যার মান সময়ের সাথে সাথে বদলানো যায়। যার মান সময়ের সাথে সাথে বিভিন্ন ভাবে প্রভাবিত হতে পারে এবং গাণিতিক মান কিংবা কোন কিছু প্রকাশ করার ক্ষেত্রে ব্যবহার করা যেতে পারে। ভেরিয়েবল হচ্ছে কম্পিউটার মেমোরি একটি নির্দিষ্ট জায়গা যেখানে বিভিন্ন মান সংরক্ষণ করে রাখা যায় এবং প্রয়োজন অনুযায়ী ব্যবহার করা যায়।\n\n4. জাভাস্ক্রিপ্ট ভেরিয়েবল কিভাবে ডিক্লেয়ার করে?\nJavaScript এ variable declare করার জন্য var কীওয়ার্ড এর মতোই let নামে আরেকটি keyword আছে , যার কাজ হচ্ছে variable টিকে function scope বা global scope এর পরিবর্তে block scope { }হিসেবে ব্যবহার করা যায়। অর্থাৎ আপনি চাইলে একই কোড পেজে অথবা একই ফাঙ্কশনের মধ্যে block দিয়ে একাধিক variable declare করতে পারেন। আর let কীওয়ার্ড টি ECMAScript 2015 অর্থাৎ ES6 থেকে JavaScript এ অন্তর্ভুক্ত হয়।\n\nVariable Declare\nvar name = 'Ab Naeem';\nvar _name = 'Ab Naeem';\nvar fullName = 'Ab Naeem';\nজাভাস্ক্রিপ্ট ভ্যারিয়েবল লেখার জন্য যা যা ব্যবহার করতে পারবেন এবং পারবেন না।\na হতে z অথবা A হতে Z পর্যন্ত যেকোন বর্ন ব্যবহার করা যাবে\nডিজিট ব্যবহার করতে পারবেন তবে শুরুতে না\nunderscore ব্যবহার করতে পারবেন তবে space ব্যবহার করতে পারবেন না\nকোন কীওয়ার্ড ব্যবহার করতে পারবেন না\nভ্যারিয়বেল নাম লেখার সঠিক নিয়ম:\nfirstname - সব ছোট হাতের লিখতে হয় কারন জাভাস্কিপ্ট কেস সেন্সেটিভ । এছাড়া ক্যারেক্টারের মাঝে কোন ফাঁকা স্পেস থাকবে না।\nfirst_name - লেখার মধ্যে কোন ফাঁকা স্পেস দেওয়া যাবে না । দুটি ওয়ার্ড এর শব্দ হলে আন্ডার স্কোর ( _ ) দিতে পারেন।\nfirst-name - একের অধিক শব্দের নাম ব্যবহার করতে চায়লে শব্দের মাঝে হাইফেন ( - ) ব্যবহার করতে পারেন।\nfirstName - ক্যামেল কেশ ব্যবহার করতে পারেন।\nfirstname89- টেক্সটের পরে নাম্বার যুক্ত করতে পারেন।\nভুল নিয়ম:\nfirst name - variable এর নাম দেওয়ার সময় দুটি শব্দের মাঝে ফাঁকা স্থান থাকলে হবে না।\n89firstname - variable এর নাম কোন নাম্বার দিয়ে শুরু করা যায় না।\n5. জাভাস্ক্রিপ্ট ভেরিয়েবল এর মান কিভাবে চেইঞ্জ করে বা আপডেট করে?\nভ্যারিয়েবল এর ম্যান চেঞ্জ করতে হলে আপনাকে প্রথমে একটি ভ্যারিয়েবল ডিক্লেয়ার করতে হবে যেমন:\n\nVariable Value\nvar name = \"Ab Naeem\";\nএখন আপনি চাচ্ছেন আপনি আপনার ভ্যারিয়েবল এর নাম ঠিক রেখে ভ্যালু চেঞ্জ করতে তাহলে প্রথমে আপনাকে শুধু ভ্যারিয়েবল নাম লিখে ভ্যালু দিয়ে দিলে এই হবে। কিভাবে করবেন তা নিচে দেখানো হয়েছে।\n\nUpdate Variable Value\nname = \"Naeem\";\n6. জাভাস্ক্রিপ্ট কি কি ধরনের ভেরিয়েবল হয়, সেগুলা কি কি?\nজাভাস্ক্রিপ্ট এর কি কি টাইপ এর ভ্যারিয়েবল হয় তার একটি লিস্ট নিচে দেওয়া হল।\n\nType of Variable\nNumber = 100, 200,[int = 10, 12,][float= 10.2, 30.5];\nstring = \"Ab Naeem\";\nchar = 'a', 'b';\nboleean = true/false;\nএখন আপনি একটি ভেরিয়েবল ডিক্লেয়ার করেছেন আপনি চাচ্ছেন আপনি যেই ভেরিয়েবল ডিক্লেয়ার করেছেন তার টাইপ জানতে যে এইটা কি টাইপ এর ভেরিয়েবল এইটা কিভাবে বের করবেন তা নিচে দেওয়া আছে।\n\nFind out type of a variable\nvar x = 12345;\nconsole.log(typeof x);\n7. জাভাস্ক্রিপ এ primitive and non primitive data types কি কি ?\nএকটি ভ্যারিয়বেল যেকোনো কীওয়ার্ড (keyword) দিয়ে শুরু হতে পারে যেমন - var , let ও const তার ভ্যালুকে Data Type বলা হয় ।\n\nএকটি ভ্যারিয়বেলে (variable) অনেক প্রকার ডাটা টাইপ (data type) লিখতে পারি । Data Type মূলত দুই প্রকার Primitive Non primitive\n\nPrimitive Data Type\nString\nNumber\nBollean\nnull\nUndefined\nExample\nvar name = \"Ab Naeem\";\nvar number = 121;\nvar x = true;\nvar x = null;\nvar x;\nNon-Primitive Data Type\nObject\nArray\nExample\nvar mycar = new Car();\nvar z = new Array(\"Hi!\");\n8. The Naming Convention of জাভাস্ক্রিপ্ট ভ্যারিয়বেল?\nExample\nvar firstName = \"Camel Case Variable\";\nvar FirstName = \"Pascal Case Variable\";\nvar first_name = \"Snake Case Variable\";\nvar first-name = \"Kebab Case Variable\";\n9. দুইটা ভ্যারিয়বেল এর মধ্যে অপারেশন?\nOperator\nAddition(+)\nSubtraction (-)\nMultiplication (*)\nDivision (/)\nModulus/Remainder (%)\nvar x = 20;var y = 30; console.log(x + y);\nvar x = 20;var y = 30; console.log(x - y);\nvar x = 20;var y = 30; console.log(x * y);\nvar x = 20;var y = 30; console.log(x / y);\nvar x = 20;var y = 5; console.log(x % y);\n10. Short Hand Note\n+= Increments then assigns\n-= Decrements then assigns\n*= Multiplies then assigns\n/= Divides then assigns\n%= Modulus then assigns\nvar x = 20;x += 5; console.log(x);\nvar x = 20;x -= 5; console.log(x);\nvar x = 20;x *= 5; console.log(x);\nvar x = 20;x /= 5; console.log(x);\nvar x = 20;x %= 5; console.log(x);\n11. ++ এবং -- এর কাজ কি ?\nজাভাস্ক্রিপ্ট এর মধ্যে (++) এর মাধ্যমে একটি অপারেশন এর মধ্যে ১ করে বাড়ানো হয়। এবং (--) এর মাধ্যমে ১ করে কমানো হয় নিচে একটি এক্সাম্পল দেওয়া আছে।\n\nExample\nvar x = 10;x++;console.log(x);\nvar x = 10;x--;console.log(x);\n12. parseInt, parseFloat, toFixed এইগুলা কি করে?\nparseInt এই function এর মাধ্যমে string number value থেকে integer এ কনভার্ট করা যায়।\nparseFloat হচ্ছে দশমিক সংখ্যা যেমন (10.5, 5.5, 2.5)\ntoFixed হচ্ছে আপনি অপারেশন একটি করলেন এবং আপনার আউটপুট এ অনেক গুলো দশমিক সহ রেজাল্ট দিচ্ছে এখন আপনি চাচ্ছেন দশমিক এর পর ২ বা ৩ টা ডিজিট আউটপুট দেখাবেন তার জন্য আপনি toFixed ব্যবহার করতে হবে।\nExample\nvar number = \"10\";\nvar n = parseInt(number);\nconsole.log(n);\n\nvar number = \"10.5\";\nvar n = parseFloat(number);\nconsole.log(n);\n\nvar number = 50.24367844;\nvar n = number.toFixed(2);\nconsole.log(n);\n13. অ্যারে কি?\nজাভাস্ক্রিপ্টে ভেরিয়েবল দেখে এসেছেন নিশ্চয়। একটা ভেরিয়েবলে একটাই মান রাখা যায় এরপর যদি সেই ভেরিয়েবলে অন্য মান assign করেন সাথে সাথে ভেরিয়েবলটির মান পরিবর্তন হয়ে যায়। তবে অ্যারে দিয়ে একটা ভেরিয়েবলে অনেক মান একসাথে রাখতে পারেন। যেকোন মান রাখতে পারেন।\n\nকিভাবে Array ডিক্লেয়ার করতে হয়।\nvar tutorial = ['HTML', 'CSS', 'JavaScript', 'PHP'];\ntutorial ভেরিয়েবলে সব মানগুলি রাখা হয়েছে, একসাথে ৪টি। এখন যদি এই মানগুলি access করতে চাই তাহলে index নাম্বার দিয়ে access করতে হবে। জাভাস্ক্রিপ্ট অটোমেটিক প্রতিটি মানের জন্য একটা index নাম্বার দিয়ে রাখে (ক্রমানুসারে)। যেমন আমি যদি প্রথম মানটি দেখতে চাই তবে tutorial[0] এভাবে দিতে হবে যেমন:\n\nconsole.log(tutorial[0]);\nArray এর মধ্যে কয়টা উপাদান (element) আছে সেটা কিভাবে বের করে।\nconsole.log(tutorial.length);\nআপনি চাচ্ছেন আপনার array এর মধ্যে একটি ভ্যালু চেঞ্জ করতে তাহলে কিভাবে করবেন তা নিছে দেওয়া হল।\n\ntutorial[4] = \"Bootstrap\";\nকোন একটা উপাদানের index এর মান -1 বলতে কি বুঝায় - undefined\n\nএকটা Array এর মধ্যে কোন একটা উপাদান এর মান তোমাকে দেয়া আছে এখন সেটার index তুমি কিভাবে খুঁজে বের করতে পারো তা নিচে দেওয়া আছে।\n\ntutorial = tutorial.indexOf(\"PHP\");\nকোন একটা Array এর মধ্যে লাস্ট উপাদান হিসেবে কোন উপাদান যোগ করতে চাইলে কিভাৱে যোগ করবে।\n\ntutorial.push(\"Tailwind\");\nআবার Array থেকে শেষের উপাদান টা বের করে দিতে চাইলে কিভ\n1. জাভাস্ক্রিপ্ট কি?\nযদি খুব সহজে বলি তাহলে জাভাস্ক্রিপ্ট ইন্টারনেটে ব্যবহৃত সবচেয়ে জনপ্রিয় স্ক্রিপ্টিং ল্যাংগুয়েজ। জাভাস্ক্রিপ্ট হল একটি ক্লায়েন্ট সাইড স্ক্রিপ্টিং বা ব্রাউজার স্ক্রিপ্টিং ল্যাংগুয়েজ। সেই সাথে জাভাস্ক্রিপ্ট একটি ওবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এতে আছে ডেটা টাইপ, অপারেটর, গুরুত্বপূর্ণ কিছু অবজেক্ট আর ফাংশন বা মেথড।\n\n2. জাভাস্ক্রিপ্ট কিভাবে কাজ করে?\nযখন JavaScript ফাইলটি ব্রাউজারে লোড করা হয়, তখন JavaScript ইঞ্জিন ফাইলের প্রতিটি লাইনকে উপরে থেকে নীচে চালাবে। এটি একটি interpreted programming language তাই সোর্স কোড এক্সিকিউশনের আগে বাইনারি কোডে কম্পাইল করা হয় না। জাভাস্ক্রিপ্ট ইঞ্জিন কোড লাইন থেকে লাইন পার্স করবে, এটিকে মেশিন কোডে রূপান্তর করবে এবং তারপর এটি কার্যকর করবে। জাভাস্ক্রিপ্ট ইঞ্জিন হল একটি কম্পিউটার প্রোগ্রাম যা জাভাস্ক্রিপ্ট কোড কার্যকর করে। জাভাস্ক্রিপ্ট ইঞ্জিনগুলি আজকের সমস্ত আধুনিক ব্রাউজারে অন্তর্নির্মিত, প্রতিটি ব্রাউজারের নিজস্ব জাভাস্ক্রিপ্ট ইঞ্জিন আছে কিন্তু সবচেয়ে পরিচিত ইঞ্জিন হল Google এর V8।\n\nযেকোনো জাভাস্ক্রিপ্ট ইঞ্জিনে সর্বদা একটি কল স্ট্যাক এবং একটি memory heap থাকে। কল স্ট্যাক হল যেখানে আমাদের কোড আসলে কার্যকর করা হয়। তারপর memory heap হল একটি অসংগঠিত মেমরি পুল যা আমাদের অ্যাপ্লিকেশনের প্রয়োজনীয় সমস্ত বস্তু সংরক্ষণ করে।\n\n3. জাভাস্ক্রিপ্ট ভেরিয়েবল কি?\nভেরিয়েবল বলতে এমন কিছুকে বোঝানো হয়ে থাকে যার মান সময়ের সাথে সাথে বদলানো যায়। যার মান সময়ের সাথে সাথে বিভিন্ন ভাবে প্রভাবিত হতে পারে এবং গাণিতিক মান কিংবা কোন কিছু প্রকাশ করার ক্ষেত্রে ব্যবহার করা যেতে পারে। ভেরিয়েবল হচ্ছে কম্পিউটার মেমোরি একটি নির্দিষ্ট জায়গা যেখানে বিভিন্ন মান সংরক্ষণ করে রাখা যায় এবং প্রয়োজন অনুযায়ী ব্যবহার করা যায়।\n\n4. জাভাস্ক্রিপ্ট ভেরিয়েবল কিভাবে ডিক্লেয়ার করে?\nJavaScript এ variable declare করার জন্য var কীওয়ার্ড এর মতোই let নামে আরেকটি keyword আছে , যার কাজ হচ্ছে variable টিকে function scope বা global scope এর পরিবর্তে block scope { }হিসেবে ব্যবহার করা যায়। অর্থাৎ আপনি চাইলে একই কোড পেজে অথবা একই ফাঙ্কশনের মধ্যে block দিয়ে একাধিক variable declare করতে পারেন। আর let কীওয়ার্ড টি ECMAScript 2015 অর্থাৎ ES6 থেকে JavaScript এ অন্তর্ভুক্ত হয়।\n\nVariable Declare\nvar name = 'Ab Naeem';\nvar _name = 'Ab Naeem';\nvar fullName = 'Ab Naeem';\nজাভাস্ক্রিপ্ট ভ্যারিয়েবল লেখার জন্য যা যা ব্যবহার করতে পারবেন এবং পারবেন না।\na হতে z অথবা A হতে Z পর্যন্ত যেকোন বর্ন ব্যবহার করা যাবে\nডিজিট ব্যবহার করতে পারবেন তবে শুরুতে না\nunderscore ব্যবহার করতে পারবেন তবে space ব্যবহার করতে পারবেন না\nকোন কীওয়ার্ড ব্যবহার করতে পারবেন না\nভ্যারিয়বেল নাম লেখার সঠিক নিয়ম:\nfirstname - সব ছোট হাতের লিখতে হয় কারন জাভাস্কিপ্ট কেস সেন্সেটিভ । এছাড়া ক্যারেক্টারের মাঝে কোন ফাঁকা স্পেস থাকবে না।\nfirst_name - লেখার মধ্যে কোন ফাঁকা স্পেস দেওয়া যাবে না । দুটি ওয়ার্ড এর শব্দ হলে আন্ডার স্কোর ( _ ) দিতে পারেন।\nfirst-name - একের অধিক শব্দের নাম ব্যবহার করতে চায়লে শব্দের মাঝে হাইফেন ( - ) ব্যবহার করতে পারেন।\nfirstName - ক্যামেল কেশ ব্যবহার করতে পারেন।\nfirstname89- টেক্সটের পরে নাম্বার যুক্ত করতে পারেন।\nভুল নিয়ম:\nfirst name - variable এর নাম দেওয়ার সময় দুটি শব্দের মাঝে ফাঁকা স্থান থাকলে হবে না।\n89firstname - variable এর নাম কোন নাম্বার দিয়ে শুরু করা যায় না।\n5. জাভাস্ক্রিপ্ট ভেরিয়েবল এর মান কিভাবে চেইঞ্জ করে বা আপডেট করে?\nভ্যারিয়েবল এর ম্যান চেঞ্জ করতে হলে আপনাকে প্রথমে একটি ভ্যারিয়েবল ডিক্লেয়ার করতে হবে যেমন:\n\nVariable Value\nvar name = \"Ab Naeem\";\nএখন আপনি চাচ্ছেন আপনি আপনার ভ্যারিয়েবল এর নাম ঠিক রেখে ভ্যালু চেঞ্জ করতে তাহলে প্রথমে আপনাকে শুধু ভ্যারিয়েবল নাম লিখে ভ্যালু দিয়ে দিলে এই হবে। কিভাবে করবেন তা নিচে দেখানো হয়েছে।\n\nUpdate Variable Value\nname = \"Naeem\";\n6. জাভাস্ক্রিপ্ট কি কি ধরনের ভেরিয়েবল হয়, সেগুলা কি কি?\nজাভাস্ক্রিপ্ট এর কি কি টাইপ এর ভ্যারিয়েবল হয় তার একটি লিস্ট নিচে দেওয়া হল।\n\nType of Variable\nNumber = 100, 200,[int = 10, 12,][float= 10.2, 30.5];\nstring = \"Ab Naeem\";\nchar = 'a', 'b';\nboleean = true/false;\nএখন আপনি একটি ভেরিয়েবল ডিক্লেয়ার করেছেন আপনি চাচ্ছেন আপনি যেই ভেরিয়েবল ডিক্লেয়ার করেছেন তার টাইপ জানতে যে এইটা কি টাইপ এর ভেরিয়েবল এইটা কিভাবে বের করবেন তা নিচে দেওয়া আছে।\n\nFind out type of a variable\nvar x = 12345;\nconsole.log(typeof x);\n7. জাভাস্ক্রিপ এ primitive and non primitive data types কি কি ?\nএকটি ভ্যারিয়বেল যেকোনো কীওয়ার্ড (keyword) দিয়ে শুরু হতে পারে যেমন - var , let ও const তার ভ্যালুকে Data Type বলা হয় ।\n\nএকটি ভ্যারিয়বেলে (variable) অনেক প্রকার ডাটা টাইপ (data type) লিখতে পারি । Data Type মূলত দুই প্রকার Primitive Non primitive\n\nPrimitive Data Type\nString\nNumber\nBollean\nnull\nUndefined\nExample\nvar name = \"Ab Naeem\";\nvar number = 121;\nvar x = true;\nvar x = null;\nvar x;\nNon-Primitive Data Type\nObject\nArray\nExample\nvar mycar = new Car();\nvar z = new Array(\"Hi!\");\n8. The Naming Convention of জাভাস্ক্রিপ্ট ভ্যারিয়বেল?\nExample\nvar firstName = \"Camel Case Variable\";\nvar FirstName = \"Pascal Case Variable\";\nvar first_name = \"Snake Case Variable\";\nvar first-name = \"Kebab Case Variable\";\n9. দুইটা ভ্যারিয়বেল এর মধ্যে অপারেশন?\nOperator\nAddition(+)\nSubtraction (-)\nMultiplication (*)\nDivision (/)\nModulus/Remainder (%)\nvar x = 20;var y = 30; console.log(x + y);\nvar x = 20;var y = 30; console.log(x - y);\nvar x = 20;var y = 30; console.log(x * y);\nvar x = 20;var y = 30; console.log(x / y);\nvar x = 20;var y = 5; console.log(x % y);\n10. Short Hand Note\n+= Increments then assigns\n-= Decrements then assigns\n*= Multiplies then assigns\n/= Divides then assigns\n%= Modulus then assigns\nvar x = 20;x += 5; console.log(x);\nvar x = 20;x -= 5; console.log(x);\nvar x = 20;x *= 5; console.log(x);\nvar x = 20;x /= 5; console.log(x);\nvar x = 20;x %= 5; console.log(x);\n11. ++ এবং -- এর কাজ কি ?\nজাভাস্ক্রিপ্ট এর মধ্যে (++) এর মাধ্যমে একটি অপারেশন এর মধ্যে ১ করে বাড়ানো হয়। এবং (--) এর মাধ্যমে ১ করে কমানো হয় নিচে একটি এক্সাম্পল দেওয়া আছে।\n\nExample\nvar x = 10;x++;console.log(x);\nvar x = 10;x--;console.log(x);\n12. parseInt, parseFloat, toFixed এইগুলা কি করে?\nparseInt এই function এর মাধ্যমে string number value থেকে integer এ কনভার্ট করা যায়।\nparseFloat হচ্ছে দশমিক সংখ্যা যেমন (10.5, 5.5, 2.5)\ntoFixed হচ্ছে আপনি অপারেশন একটি করলেন এবং আপনার আউটপুট এ অনেক গুলো দশমিক সহ রেজাল্ট দিচ্ছে এখন আপনি চাচ্ছেন দশমিক এর পর ২ বা ৩ টা ডিজিট আউটপুট দেখাবেন তার জন্য আপনি toFixed ব্যবহার করতে হবে।\nExample\nvar number = \"10\";\nvar n = parseInt(number);\nconsole.log(n);\n\nvar number = \"10.5\";\nvar n = parseFloat(number);\nconsole.log(n);\n\nvar number = 50.24367844;\nvar n = number.toFixed(2);\nconsole.log(n);\n13. অ্যারে কি?\nজাভাস্ক্রিপ্টে ভেরিয়েবল দেখে এসেছেন নিশ্চয়। একটা ভেরিয়েবলে একটাই মান রাখা যায় এরপর যদি সেই ভেরিয়েবলে অন্য মান assign করেন সাথে সাথে ভেরিয়েবলটির মান পরিবর্তন হয়ে যায়। তবে অ্যারে দিয়ে একটা ভেরিয়েবলে অনেক মান একসাথে রাখতে পারেন। যেকোন মান রাখতে পারেন।\n\nকিভাবে Array ডিক্লেয়ার করতে হয়।\nvar tutorial = ['HTML', 'CSS', 'JavaScript', 'PHP'];\ntutorial ভেরিয়েবলে সব মানগুলি রাখা হয়েছে, একসাথে ৪টি। এখন যদি এই মানগুলি access করতে চাই তাহলে index নাম্বার দিয়ে access করতে হবে। জাভাস্ক্রিপ্ট অটোমেটিক প্রতিটি মানের জন্য একটা index নাম্বার দিয়ে রাখে (ক্রমানুসারে)। যেমন আমি যদি প্রথম মানটি দেখতে চাই তবে tutorial[0] এভাবে দিতে হবে যেমন:\n\nconsole.log(tutorial[0]);\nArray এর মধ্যে কয়টা উপাদান (element) আছে সেটা কিভাবে বের করে।\nconsole.log(tutorial.length);\nআপনি চাচ্ছেন আপনার array এর মধ্যে একটি ভ্যালু চেঞ্জ করতে তাহলে কিভাবে করবেন তা নিছে দেওয়া হল।\n\ntutorial[4] = \"Bootstrap\";\nকোন একটা উপাদানের index এর মান -1 বলতে কি বুঝায় - undefined\n\nএকটা Array এর মধ্যে কোন একটা উপাদান এর মান তোমাকে দেয়া আছে এখন সেটার index তুমি কিভাবে খুঁজে বের করতে পারো তা নিচে দেওয়া আছে।\n\ntutorial = tutorial.indexOf(\"PHP\");\nকোন একটা Array এর মধ্যে লাস্ট উপাদান হিসেবে কোন উপাদান যোগ করতে চাইলে কিভাৱে যোগ করবে।\n\ntutorial.push(\"Tailwind\");\nআবার Array থেকে শেষের উপাদান টা বের করে দিতে চাইলে কিভাবে বের করে দিবে।\n\ntutorial.pop();\nকোন একটা Array এর মধ্যে প্রথম উপাদান হিসেবে কোন উপাদান হিসেবে যোগ করতে চাইলে কিভাৱে যোগ করবে।\n\ntutorial.unshift(\"Hello!\");\nআবার Array থেকে প্রথম উপাদান টা বের করে দিতে চাইলে কিভাবে বের করে দিবে।\n\ntutorial.shift();\n14. JavaScript Comparison \u0026 Logical Operators?\n== equal to\n=== equal value and equal type\n!= not equal\n!== not equal value or not equal type\ngreater than \u003e\n\u003c less than\ngreater than or equal to \u003e=\n\u003c= less than or equal to\n? ternary operator\nLogical Operators\n\u0026\u0026 logical and\n|| logical or\n! logical not\n15. তোমার কাছে ৮০০০০ হাজার টাকার বেশি হলে তুমি Mackbook কিনবে, ৬০ হাজার টাকার বেশি হলে Gaming ল্যাপটপ কিনবে, ৪০ হাজার টাকার বেশি হলে Lenovo Yoga কম্পিউটার কিনবে , ২০ হাজার টাকার বেশি হলে পুরান ল্যাপটপ কিনবে। না হয় তুমি মোবাইল দিয়ে কাজ চালাবে।\nvar money = 30000;\nif (money \u003e 800000){\n    console.log(\"I will by a Mackbook\");\n}else if (money \u003e 60000){\n    console.log(\"I will by a Gaming Laptop\");\n}else if (money \u003e 40000){\n    console.log(\"I will by a Lenovo Yoga\");\n}else if (money \u003e 20000){\n    console.log(\"I will by a used laptop\");\n}else{\n    console.log(\"I will use Mobile Phone\");\n}\n16. আসকে আমার মন ভালো নেই এই কথা ৩৯ বার আউটপুট হিসেবে দেখাও।\nfor(i = 1; i \u003c= 39; i++){\n    console.log(i + \". Ajke amr mon valo nei\");\n}\n18. While লুপ কিভাবে কাজ করে?\nকোন একটি শর্ত বা condition পুরন না হওয়া পর্যন্ত কোন কাজ চালিয়ে যেতে জাভাস্ক্রিপ্ট এর while লুপ ব্যবহার করা হয়। এক্ষেত্রে নির্ধারিত শর্ত বা condition টি মিথ্যা অর্থাৎ false না হওয়া পর্যন্ত while লুপ টি চলতেই থাকবে।\nউদাহরণ স্বরূপ বলা যায়, একজন শিক্ষক আপনাকে একটি অংক করতে দিল। আপনি যত বার অংকটি ভুল করছেন, ততবার শিক্ষক আপনাকে অংক টি করতে বলছে, অর্থাৎ কেবল মাত্র অংকটি করতে পারলেই আপনি এই কাজ থেকে মুক্তি পাবেন। জাভাস্ক্রিপ্ট এর while লুপ টি পুরোপুরি এই রকম।\nনিচে জাভাস্ক্রিপ্ট এর while লুপ এর সাধারণ সিনট্যাক্স টি দেখুন।\n\nwhile (condition){  \n    code to be executed  \n}  \nWhile লুপ এর মধ্যে লুপ ভেরিয়েবল চেইঞ্জ না করলে কি সমস্যা হয়।\nউল্লেখ্য যে, যদি কখনও ভুল করে ভেরিয়েবল মান বৃদ্ধি না করা হয় তবে লুপটি কখনই শেষ হবে না এবং প্রোগ্রামটি ক্রাশ করবে ।\nwhile (i \u003c 10){\n    console.log(1);\n}\n19. For লুপ কিভাবে কাজ করে?\nঅন্যান্য সকল প্রোগ্রামিং ভাষার মতই জাভাস্ক্রিপ্ট এর for লুপ কাজ করে। কোন প্রোগ্রামে এক বা একাধিক স্টেটমেন্ট একটা নির্দিষ্ট সংখ্যক বার পর্যন্ত কাজ করতে জাভাস্ক্রিপ্ট এর for লুপ ব্যবহার করা হয়। অর্থাৎ যে সকল ক্ষেত্রে আমরা পূর্ব বা আগে থেকেই জানি যে জাভাস্ক্রিপ্ট কোড গুলো ঠিক কত বার পুনরাবৃত্তি করবে অর্থাৎ execute বা run করবে, সে সকল ক্ষেত্রে জাভাস্ক্রিপ্ট এর for লুপ ব্যবহার করা হয়।\nনিচে জাভাস্ক্রিপ্ট এর for লুপ এর সাধারণ সিনট্যাক্সটি দেখুন।\n\nfor (initialization; test condition; iteration statement){\n    Statements to be executed if test condition is true\n}\nওপরের সিনট্যাক্সটি দেখুন, এখানে for loop টির 3টি অংশ রয়েছে, অর্থাৎ 3টি অংশ নিয়ে একটি for লুপ গঠিত হয়। এই তিনটি অংশ হল যথাক্রমে নিম্নরূপ -\n\ninitialization for loop এর এই অংশে ভেরিয়েবলের মান বা value উল্লেখ করে দিতে হয়, লুপ শুরু হবার আগেই initialization এর স্টেটমেন্ট execute হবে বা run করবে,\ntest condition লুপের এই অংশেই উল্লেখিত শর্ত বা condition টি সত্য বা true নাকি মিথ্যা বা false তা নির্ণয় করা হয়, যদি শর্ত বা condition সত্যি হয় তবে লুপের মাঝের কোড execute হবে, অন্যথায় প্রোগ্রাম লুপ থেকে বের হয়ে আসবে।\niteration statement counter অর্থাৎ ভেরিয়েবলের মান কোন শর্ত বা condition অনুযায়ী হ্রাস বা decrease হবে অথবা বৃদ্ধি বা increase হবে, তা জাভাস্ক্রিপ্ট for লুপের এই অংশে নির্ধারণ করা হয়।\n20. একটা কোড লিখে ৫৮ থেকে ৯৮ পর্যন্ত যত সংখ্যা আছে সেগুলাকে দেখাও?\nfor(i = 58; i \u003c= 98; i++){\n    console.log(i);\n}\n21. একটা কোড লিখে ৪১২ থেকে ৪৫৬ পর্যন্ত যত জোর সংখ্যা আছে সেগুলাকে দেখাও?\nfor(i = 412; i \u003c= 456; i+=2){\n    console.log(i);\n}\n22. একটা কোড লিখে ৫৮১ থেকে ৬২৩ পর্যন্ত যত বিজোড় সংখ্যা আছে সেগুলাকে দেখাও?\nfor(i = 581; i \u003c= 623; i+=2){\n    console.log(i);\n}\n23. While Loop আর For Loop এর মধ্যে পার্থক্য?\nWhile loop will continue to loop forever as long as the statement is met\nFor loops have a fixed number of loops which are determined by the user.\n24. তুমি এতদিন যা যা জিনিস শিখছো সেগুলার নাম দিয়ে একটা array বানাও। তারপর একটা for লুপ দিয়ে সেই array এর সব উপাদান কে আউটপুট হিসেবে দেখাও।\nvar topics = [\"HTMl\",\"CSS\",\"GitHub\",\"Bootstrap\",\"Tailwind CSS\",\"Learning Javascript\"];\nfor (i = 0; i \u003c topics.length; i++) {\n    console.log(topics[i]);\n}\n25. তুমি এতদিন পর্যন্ত যে যে মডেলের মোবাইল ফোন ইউজ করেছো সেগুলার নাম দিয়ে একটা array বানাও। তারপর একটা while লুপ দিয়ে সেই array এর উপাদান গুলা একটা একটা করে আউটপুট হিসেবে দেখাও।\nvar mobileUse = [\"Nokia\",\"Samsung\",\"Oppo\"];\nvar i = 0;\nwhile(i \u003c mobileUse.length){\n    console.log(mobileUse[i]);\n    i++;\n}\n26. একটা ফর লুপ চালাও। ৩০ থেকে ৮৬ পর্যন্ত। আর এই লুপ ৪৪ এ গেলে ব্রেক করবে। সেই জিনিস কোড করে দেখাও।\nfor(i = 30; i \u003c= 86; i++){\n    console.log(i);\n    if( i \u003e 44){\n        break;\n    }\n}\n27. তোমার যত বই আছে সেগুলার দাম নিয়ে একটা array লিখে ফেলো। যে বই গুলোর দাম ২০০ টাকার উপরে সেগুলাকে স্কিপ করবে। অর্থাৎ সেগুলাকে আউটপুট হিসেবে দেখাবে না। বাকিদের কে আউটপুট হিসেবে দেখাবে। দেখো করতে পারো কিনা।\nvar bookPrice = [120, 200, 300, 420, 150, 180, 79];\nfor(var i = 0; i \u003c bookPrice.length; i++){\n    var priceList = bookPrice[i];\n    if(priceList \u003e 200){\n        continue;\n    }\n    console.log(priceList);\n}","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloper-mustafa%2Flearn-javascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeveloper-mustafa%2Flearn-javascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeveloper-mustafa%2Flearn-javascript/lists"}