জাভাস্ক্রিপ্ট এর বেসিক ধারণা
জাভাস্ক্রিপ্ট এর বেসিক ধারণা
ভূমিকা
জাভাস্ক্রিপ্ট (JavaScript) একটি বহুল ব্যবহৃত প্রোগ্রামিং ভাষা। এটি মূলত ওয়েবপেজগুলোকে ইন্টারেক্টিভ (interactive) করতে ব্যবহৃত হয়। তবে, বর্তমানে সার্ভার-সাইড প্রোগ্রামিং (Node.js), মোবাইল অ্যাপ ডেভেলপমেন্ট (React Native, Ionic) এবং ডেস্কটপ অ্যাপ্লিকেশন তৈরিতেও জাভাস্ক্রিপ্ট ব্যবহৃত হচ্ছে। এই নিবন্ধে জাভাস্ক্রিপ্টের মৌলিক ধারণাগুলো বিস্তারিতভাবে আলোচনা করা হলো, যা ওয়েব ডেভেলপমেন্ট এবং অন্যান্য প্রোগ্রামিং ক্ষেত্রে নতুনদের জন্য সহায়ক হবে।
জাভাস্ক্রিপ্ট কি?
জাভাস্ক্রিপ্ট একটি স্ক্রিপ্টিং ভাষা, যা ওয়েব ব্রাউজারে ক্লায়েন্ট-সাইডে (client-side) চলে। এর মানে হলো, কোডগুলো ব্যবহারকারীর ব্রাউজারে এক্সিকিউট (execute) হয়, সার্ভারে নয়। এটি ডাইনামিক (dynamic) এবং দুর্বলভাবে টাইপ করা (loosely typed) একটি ভাষা। ডাইনামিক হওয়ার কারণে, জাভাস্ক্রিপ্টে ভেরিয়েবলের ডেটা টাইপ রানটাইমে (runtime) নির্ধারিত হয়। দুর্বলভাবে টাইপ করা হওয়ার অর্থ হলো, একটি ভেরিয়েবলে বিভিন্ন ধরনের ডেটা টাইপ ব্যবহার করা যেতে পারে।
জাভাস্ক্রিপ্টের ইতিহাস
১৯৯৫ সালে নেটস্কেপ কমিউনিকেশন কর্পোরেশন (Netscape Communications Corporation) ব্রেন্ডন আইচ (Brendan Eich) কর্তৃক জাভাস্ক্রিপ্ট তৈরি করা হয়। প্রাথমিকভাবে এর নাম ছিল মোচা (Mocha), পরে লাইভস্ক্রিপ্ট (LiveScript) এবং সবশেষে জাভাস্ক্রিপ্ট নামকরণ করা হয়। এটি মূলত জাভা (Java) প্রোগ্রামিং ভাষার সাথে সাদৃশ্যপূর্ণ করার জন্য তৈরি করা হয়েছিল, যদিও এই দুটি ভাষার মধ্যে অনেক পার্থক্য রয়েছে। প্রোগ্রামিং ভাষার ইতিহাস সম্পর্কে আরো জানতে পারেন।
জাভাস্ক্রিপ্টের সিনট্যাক্স (Syntax)
জাভাস্ক্রিপ্টের সিনট্যাক্স অনেকটা সি (C) এবং সি++ (C++) এর মতো। নিচে কয়েকটি মৌলিক সিনট্যাক্স আলোচনা করা হলো:
- ভেরিয়েবল ঘোষণা (Variable Declaration): জাভাস্ক্রিপ্টে ভেরিয়েবল ঘোষণা করার জন্য `var`, `let`, এবং `const` কীওয়ার্ড ব্যবহার করা হয়।
* `var`: ফাংশন স্কোপ (function scope) বা গ্লোবাল স্কোপ (global scope) এর জন্য ব্যবহৃত হয়। * `let`: ব্লক স্কোপ (block scope) এর জন্য ব্যবহৃত হয়। * `const`: কনস্ট্যান্ট (constant) ভেরিয়েবল ঘোষণার জন্য ব্যবহৃত হয়, যার মান পরিবর্তন করা যায় না।
কীওয়ার্ড | উদাহরণ | |
var | `var x = 10;` | |
let | `let y = 20;` | |
const | `const z = 30;` |
- ডেটা টাইপ (Data Types): জাভাস্ক্রিপ্টে বিভিন্ন ধরনের ডেটা টাইপ রয়েছে, যেমন:
* সংখ্যা (Number): `10`, `3.14` * স্ট্রিং (String): `"Hello"`, `'World'` * বুলিয়ান (Boolean): `true`, `false` * নাল (Null): `null` * আনডিফাইন্ড (Undefined): `undefined` * সিম্বল (Symbol): `Symbol("description")` * বিগইনট (BigInt): `9007199254740991n`
- অপারেটর (Operators): জাভাস্ক্রিপ্টে বিভিন্ন ধরনের অপারেটর রয়েছে, যেমন:
* অ্যারিথমেটিক অপারেটর (Arithmetic Operators): `+`, `-`, `*`, `/`, `%` * অ্যাসাইনমেন্ট অপারেটর (Assignment Operators): `=`, `+=`, `-=`, `*=`, `/=`, `%=` * কম্পারিজন অপারেটর (Comparison Operators): `==`, `===`, `!=`, `!==`, `>`, `<`, `>=`, `<=` * লজিক্যাল অপারেটর (Logical Operators): `&&`, `||`, `!`
জাভাস্ক্রিপ্টের মৌলিক উপাদানসমূহ
- ফাংশন (Functions): ফাংশন হলো কোডের একটি ব্লক যা একটি নির্দিষ্ট কাজ করে। জাভাস্ক্রিপ্টে ফাংশন ঘোষণা করার জন্য `function` কীওয়ার্ড ব্যবহার করা হয়।
```javascript function greet(name) {
return "Hello, " + name + "!";
}
console.log(greet("John")); // Output: Hello, John! ```
- কন্ডিশনাল স্টেটমেন্ট (Conditional Statements): কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে শর্তের ভিত্তিতে কোড এক্সিকিউট করা যায়। জাভাস্ক্রিপ্টে `if`, `else if`, এবং `else` স্টেটমেন্ট ব্যবহার করা হয়।
```javascript let age = 20;
if (age >= 18) {
console.log("You are an adult.");
} else {
console.log("You are a minor.");
} ```
- লুপ (Loops): লুপ ব্যবহার করে একটি নির্দিষ্ট কোড ব্লক বারবার এক্সিকিউট করা যায়। জাভাস্ক্রিপ্টে `for`, `while`, এবং `do...while` লুপ ব্যবহার করা হয়।
```javascript for (let i = 0; i < 5; i++) {
console.log(i);
} ```
- অ্যারে (Arrays): অ্যারে হলো একাধিক ডেটা আইটেমের একটি সংগ্রহ। জাভাস্ক্রিপ্টে অ্যারে তৈরি করার জন্য `[]` ব্যবহার করা হয়।
```javascript let colors = ["red", "green", "blue"]; console.log(colors[0]); // Output: red ```
- অবজেক্ট (Objects): অবজেক্ট হলো কী-ভ্যালু (key-value) পেয়ারের একটি সংগ্রহ। জাভাস্ক্রিপ্টে অবজেক্ট তৈরি করার জন্য `{}` ব্যবহার করা হয়।
```javascript let person = {
name: "John", age: 30, city: "New York"
}; console.log(person.name); // Output: John ```
ডোম ম্যানিপুলেশন (DOM Manipulation)
ডোম (Document Object Model) হলো একটি ওয়েবপেজের স্ট্রাকচার্ড রিপ্রেজেন্টেশন (structured representation)। জাভাস্ক্রিপ্ট ব্যবহার করে ডোম ম্যানিপুলেট (manipulate) করা যায়, অর্থাৎ ওয়েবপেজের কন্টেন্ট এবং স্ট্রাকচার পরিবর্তন করা যায়।
- এলিমেন্ট সিলেক্ট করা (Selecting Elements): `document.getElementById()`, `document.getElementsByClassName()`, `document.querySelector()`, এবং `document.querySelectorAll()` মেথড ব্যবহার করে ডোম এলিমেন্ট সিলেক্ট করা যায়।
- এলিমেন্ট পরিবর্তন করা (Modifying Elements): `innerHTML`, `textContent`, `setAttribute()`, এবং `style` প্রোপার্টি ব্যবহার করে এলিমেন্টের কন্টেন্ট এবং অ্যাট্রিবিউট পরিবর্তন করা যায়।
- নতুন এলিমেন্ট তৈরি করা (Creating New Elements): `document.createElement()`, `document.createTextNode()`, এবং `appendChild()` মেথড ব্যবহার করে নতুন এলিমেন্ট তৈরি এবং যোগ করা যায়।
ডোম (DOM), ডোম ম্যানিপুলেশন এবং জাভাস্ক্রিপ্ট ইভেন্ট সম্পর্কে বিস্তারিত জানতে পারেন।
ইভেন্ট (Events)
জাভাস্ক্রিপ্টে ইভেন্ট হলো ব্যবহারকারীর কোনো অ্যাকশন অথবা ব্রাউজারের কোনো পরিবর্তন। যেমন: ক্লিক (click), মাউসওভার (mouseover), কিপ্রেস (keypress), লোড (load) ইত্যাদি। ইভেন্ট হ্যান্ডলার (event handler) ব্যবহার করে ইভেন্টগুলোর প্রতিক্রিয়া জানানো যায়।
```javascript document.getElementById("myButton").addEventListener("click", function() {
alert("Button clicked!");
}); ```
জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক এবং লাইব্রেরি
জাভাস্ক্রিপ্ট ডেভেলপমেন্টকে সহজ করার জন্য বিভিন্ন ফ্রেমওয়ার্ক (framework) এবং লাইব্রেরি (library) রয়েছে। এদের মধ্যে জনপ্রিয় কয়েকটি হলো:
- রিঅ্যাক্ট (React): ফেসবুক কর্তৃক তৈরি একটি জনপ্রিয় জাভাস্ক্রিপ্ট লাইব্রেরি, যা ইউজার ইন্টারফেস (user interface) তৈরির জন্য ব্যবহৃত হয়। রিঅ্যাক্ট (React)
- অ্যাঙ্গুলার (Angular): গুগল কর্তৃক তৈরি একটি শক্তিশালী ফ্রেমওয়ার্ক, যা কমপ্লেক্স (complex) ওয়েব অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। অ্যাঙ্গুলার (Angular)
- ভিউ (Vue.js): একটি প্রোগ্রেসিভ (progressive) ফ্রেমওয়ার্ক, যা সহজে ব্যবহারযোগ্য এবং দ্রুত ডেভেলপমেন্টের জন্য পরিচিত। ভিউ (Vue.js)
- Node.js: একটি সার্ভার-সাইড জাভাস্ক্রিপ্ট রানটাইম এনভায়রনমেন্ট (runtime environment), যা জাভাস্ক্রিপ্টকে সার্ভারে চালানোর সুযোগ দেয়। Node.js
- jQuery: একটি দ্রুত এবং বৈশিষ্ট্যপূর্ণ জাভাস্ক্রিপ্ট লাইব্রেরি, যা ডোম ম্যানিপুলেশন এবং AJAX অপারেশনের জন্য ব্যবহৃত হয়। jQuery
জাভাস্ক্রিপ্টের আধুনিক বৈশিষ্ট্যসমূহ
- ইএস৬ (ES6): ইসিএমএস্ক্রিপ্ট ৬ (ECMAScript 6) জাভাস্ক্রিপ্টের একটি আধুনিক সংস্করণ, যা নতুন অনেক বৈশিষ্ট্য নিয়ে এসেছে, যেমন: অ্যারো ফাংশন (arrow functions), ক্লাস (classes), মডিউল (modules), লেট (let), এবং কনস্ট (const)। ইএস৬ (ES6)
- অ্যাসিঙ্ক/অ্যাওয়েট (Async/Await): অ্যাসিঙ্ক্রোনাস (asynchronous) কোড লেখার জন্য `async` এবং `await` কীওয়ার্ড ব্যবহার করা হয়, যা কোডকে আরও সহজ এবং পাঠযোগ্য করে তোলে। অ্যাসিঙ্ক/অ্যাওয়েট
- মডিউল (Modules): মডিউল ব্যবহার করে কোডকে ছোট ছোট অংশে ভাগ করা যায়, যা কোড ম্যানেজমেন্ট এবং রিউজেবিলিটি (reusability) বাড়ায়। জাভাস্ক্রিপ্ট মডিউল
বাইনারি অপশন ট্রেডিং-এর সাথে জাভাস্ক্রিপ্টের সম্পর্ক
বাইনারি অপশন ট্রেডিং প্ল্যাটফর্মগুলোতে রিয়েল-টাইম ডেটা ভিজ্যুয়ালাইজেশন (real-time data visualization), চার্ট তৈরি এবং ট্রেডিং স্ট্র্যাটেজি অটোমেশন (trading strategy automation) করার জন্য জাভাস্ক্রিপ্ট ব্যবহার করা হয়। বিভিন্ন টেকনিক্যাল ইন্ডিকেটর (technical indicator) যেমন মুভিং এভারেজ (moving average), আরএসআই (RSI), এমএসিডি (MACD) ইত্যাদি জাভাস্ক্রিপ্ট দিয়ে তৈরি করা যায়। এছাড়াও, টেকনিক্যাল বিশ্লেষণ এবং ভলিউম বিশ্লেষণ এর জন্য প্রয়োজনীয় স্ক্রিপ্ট লেখার কাজেও জাভাস্ক্রিপ্ট ব্যবহৃত হয়।
- ক্যান্ডেলস্টিক প্যাটার্ন
- ফিবোনাচি রিট্রেসমেন্ট
- সাপোর্ট এবং রেজিস্ট্যান্স লেভেল
- ট্রেন্ড লাইন
- ঝুঁকি ব্যবস্থাপনা
- মানি ম্যানেজমেন্ট
- অপশন ট্রেডিং কৌশল
- বাইনারি অপশন প্ল্যাটফর্ম
- মার্জিন কল
- স্টপ লস
- টেকনিক্যাল ইন্ডিকেটর
- চার্ট প্যাটার্ন
- ভলিউম ট্রেডিং
- মার্কেট সেন্টিমেন্ট
- ফান্ডামেন্টাল বিশ্লেষণ
উপসংহার
জাভাস্ক্রিপ্ট একটি শক্তিশালী এবং বহুমুখী প্রোগ্রামিং ভাষা, যা ওয়েব ডেভেলপমেন্ট থেকে শুরু করে সার্ভার-সাইড প্রোগ্রামিং এবং মোবাইল অ্যাপ ডেভেলপমেন্ট পর্যন্ত বিভিন্ন ক্ষেত্রে ব্যবহৃত হচ্ছে। এর সহজ সিনট্যাক্স এবং বিশাল কমিউনিটি সাপোর্ট এটিকে নতুন প্রোগ্রামারদের জন্য একটি চমৎকার পছন্দ করে তুলেছে। এই নিবন্ধে জাভাস্ক্রিপ্টের মৌলিক ধারণাগুলো আলোচনা করা হয়েছে, যা আপনাকে জাভাস্ক্রিপ্ট শিখতে এবং ব্যবহার করতে সাহায্য করবে।
এখনই ট্রেডিং শুরু করুন
IQ Option-এ নিবন্ধন করুন (সর্বনিম্ন ডিপোজিট $10) Pocket Option-এ অ্যাকাউন্ট খুলুন (সর্বনিম্ন ডিপোজিট $5)
আমাদের সম্প্রদায়ে যোগ দিন
আমাদের টেলিগ্রাম চ্যানেলে যোগ দিন @strategybin এবং পান: ✓ দৈনিক ট্রেডিং সংকেত ✓ একচেটিয়া কৌশলগত বিশ্লেষণ ✓ বাজারের প্রবণতা সম্পর্কে বিজ্ঞপ্তি ✓ নতুনদের জন্য শিক্ষামূলক উপকরণ