Skip to content

nwebpro/javascript-explore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 

Repository files navigation

☕  Connect with me!

Facebook Badge Linkedin Badge Instagram Badge Twitter Badge Mail Badge

1. জাভাস্ক্রিপ্ট কি?

যদি খুব সহজে বলি তাহলে জাভাস্ক্রিপ্ট ইন্টারনেটে ব্যবহৃত সবচেয়ে জনপ্রিয় স্ক্রিপ্টিং ল্যাংগুয়েজ। জাভাস্ক্রিপ্ট হল একটি ক্লায়েন্ট সাইড স্ক্রিপ্টিং বা ব্রাউজার স্ক্রিপ্টিং ল্যাংগুয়েজ। সেই সাথে জাভাস্ক্রিপ্ট একটি ওবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এতে আছে ডেটা টাইপ, অপারেটর, গুরুত্বপূর্ণ কিছু অবজেক্ট আর ফাংশন বা মেথড।

2. জাভাস্ক্রিপ্ট কিভাবে কাজ করে?

যখন JavaScript ফাইলটি ব্রাউজারে লোড করা হয়, তখন JavaScript ইঞ্জিন ফাইলের প্রতিটি লাইনকে উপরে থেকে নীচে চালাবে। এটি একটি interpreted programming language তাই সোর্স কোড এক্সিকিউশনের আগে বাইনারি কোডে কম্পাইল করা হয় না। জাভাস্ক্রিপ্ট ইঞ্জিন কোড লাইন থেকে লাইন পার্স করবে, এটিকে মেশিন কোডে রূপান্তর করবে এবং তারপর এটি কার্যকর করবে। জাভাস্ক্রিপ্ট ইঞ্জিন হল একটি কম্পিউটার প্রোগ্রাম যা জাভাস্ক্রিপ্ট কোড কার্যকর করে। জাভাস্ক্রিপ্ট ইঞ্জিনগুলি আজকের সমস্ত আধুনিক ব্রাউজারে অন্তর্নির্মিত, প্রতিটি ব্রাউজারের নিজস্ব জাভাস্ক্রিপ্ট ইঞ্জিন আছে কিন্তু সবচেয়ে পরিচিত ইঞ্জিন হল Google এর V8।

যেকোনো জাভাস্ক্রিপ্ট ইঞ্জিনে সর্বদা একটি কল স্ট্যাক এবং একটি memory heap থাকে। কল স্ট্যাক হল যেখানে আমাদের কোড আসলে কার্যকর করা হয়। তারপর memory heap হল একটি অসংগঠিত মেমরি পুল যা আমাদের অ্যাপ্লিকেশনের প্রয়োজনীয় সমস্ত বস্তু সংরক্ষণ করে।

3. জাভাস্ক্রিপ্ট ভেরিয়েবল কি?

ভেরিয়েবল বলতে এমন কিছুকে বোঝানো হয়ে থাকে যার মান সময়ের সাথে সাথে বদলানো যায়। যার মান সময়ের সাথে সাথে বিভিন্ন ভাবে প্রভাবিত হতে পারে এবং গাণিতিক মান কিংবা কোন কিছু প্রকাশ করার ক্ষেত্রে ব্যবহার করা যেতে পারে। ভেরিয়েবল হচ্ছে কম্পিউটার মেমোরি একটি নির্দিষ্ট জায়গা যেখানে বিভিন্ন মান সংরক্ষণ করে রাখা যায় এবং প্রয়োজন অনুযায়ী ব্যবহার করা যায়।

4. জাভাস্ক্রিপ্ট ভেরিয়েবল কিভাবে ডিক্লেয়ার করে?

JavaScript এ variable declare করার জন্য var কীওয়ার্ড এর মতোই let নামে আরেকটি keyword আছে , যার কাজ হচ্ছে variable টিকে function scope বা global scope এর পরিবর্তে block scope { }হিসেবে ব্যবহার করা যায়। অর্থাৎ আপনি চাইলে একই কোড পেজে অথবা একই ফাঙ্কশনের মধ্যে block দিয়ে একাধিক variable declare করতে পারেন। আর let কীওয়ার্ড টি ECMAScript 2015 অর্থাৎ ES6 থেকে JavaScript এ অন্তর্ভুক্ত হয়।

  • Variable Declare
var name = 'Ab Naeem';
var _name = 'Ab Naeem';
var fullName = 'Ab Naeem';

জাভাস্ক্রিপ্ট ভ্যারিয়েবল লেখার জন্য যা যা ব্যবহার করতে পারবেন এবং পারবেন না।

  • a হতে z অথবা A হতে Z পর্যন্ত যেকোন বর্ন ব্যবহার করা যাবে
  • ডিজিট ব্যবহার করতে পারবেন তবে শুরুতে না
  • underscore ব্যবহার করতে পারবেন তবে space ব্যবহার করতে পারবেন না
  • কোন কীওয়ার্ড ব্যবহার করতে পারবেন না

ভ্যারিয়বেল নাম লেখার সঠিক নিয়ম:

  • firstname - সব ছোট হাতের লিখতে হয় কারন জাভাস্কিপ্ট কেস সেন্সেটিভ । এছাড়া ক্যারেক্টারের মাঝে কোন ফাঁকা স্পেস থাকবে না।
  • first_name - লেখার মধ্যে কোন ফাঁকা স্পেস দেওয়া যাবে না । দুটি ওয়ার্ড এর শব্দ হলে আন্ডার স্কোর ( _ ) দিতে পারেন।
  • first-name - একের অধিক শব্দের নাম ব্যবহার করতে চায়লে শব্দের মাঝে হাইফেন ( - ) ব্যবহার করতে পারেন।
  • firstName - ক্যামেল কেশ ব্যবহার করতে পারেন।
  • firstname89- টেক্সটের পরে নাম্বার যুক্ত করতে পারেন।

ভুল নিয়ম:

  • first name - variable এর নাম দেওয়ার সময় দুটি শব্দের মাঝে ফাঁকা স্থান থাকলে হবে না।
  • 89firstname - variable এর নাম কোন নাম্বার দিয়ে শুরু করা যায় না।

5. জাভাস্ক্রিপ্ট ভেরিয়েবল এর মান কিভাবে চেইঞ্জ করে বা আপডেট করে?

ভ্যারিয়েবল এর ম্যান চেঞ্জ করতে হলে আপনাকে প্রথমে একটি ভ্যারিয়েবল ডিক্লেয়ার করতে হবে যেমন:

  • Variable Value
var name = "Ab Naeem";

এখন আপনি চাচ্ছেন আপনি আপনার ভ্যারিয়েবল এর নাম ঠিক রেখে ভ্যালু চেঞ্জ করতে তাহলে প্রথমে আপনাকে শুধু ভ্যারিয়েবল নাম লিখে ভ্যালু দিয়ে দিলে এই হবে। কিভাবে করবেন তা নিচে দেখানো হয়েছে।

  • Update Variable Value
name = "Naeem";

6. জাভাস্ক্রিপ্ট কি কি ধরনের ভেরিয়েবল হয়, সেগুলা কি কি?

জাভাস্ক্রিপ্ট এর কি কি টাইপ এর ভ্যারিয়েবল হয় তার একটি লিস্ট নিচে দেওয়া হল।

  • Type of Variable
Number = 100, 200,[int = 10, 12,][float= 10.2, 30.5];
string = "Ab Naeem";
char = 'a', 'b';
boleean = true/false;

এখন আপনি একটি ভেরিয়েবল ডিক্লেয়ার করেছেন আপনি চাচ্ছেন আপনি যেই ভেরিয়েবল ডিক্লেয়ার করেছেন তার টাইপ জানতে যে এইটা কি টাইপ এর ভেরিয়েবল এইটা কিভাবে বের করবেন তা নিচে দেওয়া আছে।

  • Find out type of a variable
var x = 12345;
console.log(typeof x);

7. জাভাস্ক্রিপ এ primitive and non primitive data types কি কি ?

একটি ভ্যারিয়বেল যেকোনো কীওয়ার্ড (keyword) দিয়ে শুরু হতে পারে যেমন - var , let ও const তার ভ্যালুকে Data Type বলা হয় ।

একটি ভ্যারিয়বেলে (variable) অনেক প্রকার ডাটা টাইপ (data type) লিখতে পারি । Data Type মূলত দুই প্রকার Primitive Non primitive

Primitive Data Type

  • String
  • Number
  • Bollean
  • null
  • Undefined
  • Example
var name = "Ab Naeem";
var number = 121;
var x = true;
var x = null;
var x;

Non-Primitive Data Type

  • Object
  • Array
  • Example
var mycar = new Car();
var z = new Array("Hi!");

8. The Naming Convention of জাভাস্ক্রিপ্ট ভ্যারিয়বেল?

  • Example
var firstName = "Camel Case Variable";
var FirstName = "Pascal Case Variable";
var first_name = "Snake Case Variable";
var first-name = "Kebab Case Variable";

9. দুইটা ভ্যারিয়বেল এর মধ্যে অপারেশন?

Operator

  • Addition(+)
  • Subtraction (-)
  • Multiplication (*)
  • Division (/)
  • Modulus/Remainder (%)
var x = 20;var y = 30; console.log(x + y);
var x = 20;var y = 30; console.log(x - y);
var x = 20;var y = 30; console.log(x * y);
var x = 20;var y = 30; console.log(x / y);
var x = 20;var y = 5; console.log(x % y);

10. Short Hand Note

  • += Increments then assigns
  • -= Decrements then assigns
  • *= Multiplies then assigns
  • /= Divides then assigns
  • %= Modulus then assigns
var x = 20;x += 5; console.log(x);
var x = 20;x -= 5; console.log(x);
var x = 20;x *= 5; console.log(x);
var x = 20;x /= 5; console.log(x);
var x = 20;x %= 5; console.log(x);

11. ++ এবং -- এর কাজ কি ?

জাভাস্ক্রিপ্ট এর মধ্যে (++) এর মাধ্যমে একটি অপারেশন এর মধ্যে ১ করে বাড়ানো হয়। এবং (--) এর মাধ্যমে ১ করে কমানো হয় নিচে একটি এক্সাম্পল দেওয়া আছে।

  • Example
var x = 10;x++;console.log(x);
var x = 10;x--;console.log(x);

12. parseInt, parseFloat, toFixed এইগুলা কি করে?

  • parseInt এই function এর মাধ্যমে string number value থেকে integer এ কনভার্ট করা যায়।
  • parseFloat হচ্ছে দশমিক সংখ্যা যেমন (10.5, 5.5, 2.5)
  • toFixed হচ্ছে আপনি অপারেশন একটি করলেন এবং আপনার আউটপুট এ অনেক গুলো দশমিক সহ রেজাল্ট দিচ্ছে এখন আপনি চাচ্ছেন দশমিক এর পর ২ বা ৩ টা ডিজিট আউটপুট দেখাবেন তার জন্য আপনি toFixed ব্যবহার করতে হবে।
  • Example
var number = "10";
var n = parseInt(number);
console.log(n);

var number = "10.5";
var n = parseFloat(number);
console.log(n);

var number = 50.24367844;
var n = number.toFixed(2);
console.log(n);

13. অ্যারে কি?

জাভাস্ক্রিপ্টে ভেরিয়েবল দেখে এসেছেন নিশ্চয়। একটা ভেরিয়েবলে একটাই মান রাখা যায় এরপর যদি সেই ভেরিয়েবলে অন্য মান assign করেন সাথে সাথে ভেরিয়েবলটির মান পরিবর্তন হয়ে যায়। তবে অ্যারে দিয়ে একটা ভেরিয়েবলে অনেক মান একসাথে রাখতে পারেন। যেকোন মান রাখতে পারেন।

কিভাবে Array ডিক্লেয়ার করতে হয়।

var tutorial = ['HTML', 'CSS', 'JavaScript', 'PHP'];

tutorial ভেরিয়েবলে সব মানগুলি রাখা হয়েছে, একসাথে ৪টি। এখন যদি এই মানগুলি access করতে চাই তাহলে index নাম্বার দিয়ে access করতে হবে। জাভাস্ক্রিপ্ট অটোমেটিক প্রতিটি মানের জন্য একটা index নাম্বার দিয়ে রাখে (ক্রমানুসারে)। যেমন আমি যদি প্রথম মানটি দেখতে চাই তবে tutorial[0] এভাবে দিতে হবে যেমন:

console.log(tutorial[0]);

Array এর মধ্যে কয়টা উপাদান (element) আছে সেটা কিভাবে বের করে।

console.log(tutorial.length);

আপনি চাচ্ছেন আপনার array এর মধ্যে একটি ভ্যালু চেঞ্জ করতে তাহলে কিভাবে করবেন তা নিছে দেওয়া হল।

tutorial[4] = "Bootstrap";

কোন একটা উপাদানের index এর মান -1 বলতে কি বুঝায় - undefined

একটা Array এর মধ্যে কোন একটা উপাদান এর মান তোমাকে দেয়া আছে এখন সেটার index তুমি কিভাবে খুঁজে বের করতে পারো তা নিচে দেওয়া আছে।

tutorial = tutorial.indexOf("PHP");

কোন একটা Array এর মধ্যে লাস্ট উপাদান হিসেবে কোন উপাদান যোগ করতে চাইলে কিভাৱে যোগ করবে।

tutorial.push("Tailwind");

আবার Array থেকে শেষের উপাদান টা বের করে দিতে চাইলে কিভাবে বের করে দিবে।

tutorial.pop();

কোন একটা Array এর মধ্যে প্রথম উপাদান হিসেবে কোন উপাদান হিসেবে যোগ করতে চাইলে কিভাৱে যোগ করবে।

tutorial.unshift("Hello!");

আবার Array থেকে প্রথম উপাদান টা বের করে দিতে চাইলে কিভাবে বের করে দিবে।

tutorial.shift();

14. JavaScript Comparison & Logical Operators?

  • == equal to
  • === equal value and equal type
  • != not equal
  • !== not equal value or not equal type
  • greater than >
  • < less than
  • greater than or equal to >=
  • <= less than or equal to
  • ? ternary operator

Logical Operators

  • && logical and
  • || logical or
  • ! logical not

15. তোমার কাছে ৮০০০০ হাজার টাকার বেশি হলে তুমি Mackbook কিনবে, ৬০ হাজার টাকার বেশি হলে Gaming ল্যাপটপ কিনবে, ৪০ হাজার টাকার বেশি হলে Lenovo Yoga কম্পিউটার কিনবে , ২০ হাজার টাকার বেশি হলে পুরান ল্যাপটপ কিনবে। না হয় তুমি মোবাইল দিয়ে কাজ চালাবে।

var money = 30000;
if (money > 800000){
    console.log("I will by a Mackbook");
}else if (money > 60000){
    console.log("I will by a Gaming Laptop");
}else if (money > 40000){
    console.log("I will by a Lenovo Yoga");
}else if (money > 20000){
    console.log("I will by a used laptop");
}else{
    console.log("I will use Mobile Phone");
}

16. আসকে আমার মন ভালো নেই এই কথা ৩৯ বার আউটপুট হিসেবে দেখাও।

for(i = 1; i <= 39; i++){
    console.log(i + ". Ajke amr mon valo nei");
}

18. While লুপ কিভাবে কাজ করে?

  • কোন একটি শর্ত বা condition পুরন না হওয়া পর্যন্ত কোন কাজ চালিয়ে যেতে জাভাস্ক্রিপ্ট এর while লুপ ব্যবহার করা হয়। এক্ষেত্রে নির্ধারিত শর্ত বা condition টি মিথ্যা অর্থাৎ false না হওয়া পর্যন্ত while লুপ টি চলতেই থাকবে।
  • উদাহরণ স্বরূপ বলা যায়, একজন শিক্ষক আপনাকে একটি অংক করতে দিল। আপনি যত বার অংকটি ভুল করছেন, ততবার শিক্ষক আপনাকে অংক টি করতে বলছে, অর্থাৎ কেবল মাত্র অংকটি করতে পারলেই আপনি এই কাজ থেকে মুক্তি পাবেন। জাভাস্ক্রিপ্ট এর while লুপ টি পুরোপুরি এই রকম।

নিচে জাভাস্ক্রিপ্ট এর while লুপ এর সাধারণ সিনট্যাক্স টি দেখুন।

while (condition){  
    code to be executed  
}  

While লুপ এর মধ্যে লুপ ভেরিয়েবল চেইঞ্জ না করলে কি সমস্যা হয়।

  • উল্লেখ্য যে, যদি কখনও ভুল করে ভেরিয়েবল মান বৃদ্ধি না করা হয় তবে লুপটি কখনই শেষ হবে না এবং প্রোগ্রামটি ক্রাশ করবে ।
while (i < 10){
    console.log(1);
}

19. For লুপ কিভাবে কাজ করে?

  • অন্যান্য সকল প্রোগ্রামিং ভাষার মতই জাভাস্ক্রিপ্ট এর for লুপ কাজ করে। কোন প্রোগ্রামে এক বা একাধিক স্টেটমেন্ট একটা নির্দিষ্ট সংখ্যক বার পর্যন্ত কাজ করতে জাভাস্ক্রিপ্ট এর for লুপ ব্যবহার করা হয়। অর্থাৎ যে সকল ক্ষেত্রে আমরা পূর্ব বা আগে থেকেই জানি যে জাভাস্ক্রিপ্ট কোড গুলো ঠিক কত বার পুনরাবৃত্তি করবে অর্থাৎ execute বা run করবে, সে সকল ক্ষেত্রে জাভাস্ক্রিপ্ট এর for লুপ ব্যবহার করা হয়।

নিচে জাভাস্ক্রিপ্ট এর for লুপ এর সাধারণ সিনট্যাক্সটি দেখুন।

for (initialization; test condition; iteration statement){
    Statements to be executed if test condition is true
}

ওপরের সিনট্যাক্সটি দেখুন, এখানে for loop টির 3টি অংশ রয়েছে, অর্থাৎ 3টি অংশ নিয়ে একটি for লুপ গঠিত হয়। এই তিনটি অংশ হল যথাক্রমে নিম্নরূপ -

  • initialization for loop এর এই অংশে ভেরিয়েবলের মান বা value উল্লেখ করে দিতে হয়, লুপ শুরু হবার আগেই initialization এর স্টেটমেন্ট execute হবে বা run করবে,
  • test condition লুপের এই অংশেই উল্লেখিত শর্ত বা condition টি সত্য বা true নাকি মিথ্যা বা false তা নির্ণয় করা হয়, যদি শর্ত বা condition সত্যি হয় তবে লুপের মাঝের কোড execute হবে, অন্যথায় প্রোগ্রাম লুপ থেকে বের হয়ে আসবে।
  • iteration statement counter অর্থাৎ ভেরিয়েবলের মান কোন শর্ত বা condition অনুযায়ী হ্রাস বা decrease হবে অথবা বৃদ্ধি বা increase হবে, তা জাভাস্ক্রিপ্ট for লুপের এই অংশে নির্ধারণ করা হয়।

20. একটা কোড লিখে ৫৮ থেকে ৯৮ পর্যন্ত যত সংখ্যা আছে সেগুলাকে দেখাও?

for(i = 58; i <= 98; i++){
    console.log(i);
}

21. একটা কোড লিখে ৪১২ থেকে ৪৫৬ পর্যন্ত যত জোর সংখ্যা আছে সেগুলাকে দেখাও?

for(i = 412; i <= 456; i+=2){
    console.log(i);
}

22. একটা কোড লিখে ৫৮১ থেকে ৬২৩ পর্যন্ত যত বিজোড় সংখ্যা আছে সেগুলাকে দেখাও?

for(i = 581; i <= 623; i+=2){
    console.log(i);
}

23. While Loop আর For Loop এর মধ্যে পার্থক্য?

  • While loop will continue to loop forever as long as the statement is met
  • For loops have a fixed number of loops which are determined by the user.

24. তুমি এতদিন যা যা জিনিস শিখছো সেগুলার নাম দিয়ে একটা array বানাও। তারপর একটা for লুপ দিয়ে সেই array এর সব উপাদান কে আউটপুট হিসেবে দেখাও।

var topics = ["HTMl","CSS","GitHub","Bootstrap","Tailwind CSS","Learning Javascript"];
for (i = 0; i < topics.length; i++) {
    console.log(topics[i]);
}

25. তুমি এতদিন পর্যন্ত যে যে মডেলের মোবাইল ফোন ইউজ করেছো সেগুলার নাম দিয়ে একটা array বানাও। তারপর একটা while লুপ দিয়ে সেই array এর উপাদান গুলা একটা একটা করে আউটপুট হিসেবে দেখাও।

var mobileUse = ["Nokia","Samsung","Oppo"];
var i = 0;
while(i < mobileUse.length){
    console.log(mobileUse[i]);
    i++;
}

26. একটা ফর লুপ চালাও। ৩০ থেকে ৮৬ পর্যন্ত। আর এই লুপ ৪৪ এ গেলে ব্রেক করবে। সেই জিনিস কোড করে দেখাও।

for(i = 30; i <= 86; i++){
    console.log(i);
    if( i > 44){
        break;
    }
}

27. তোমার যত বই আছে সেগুলার দাম নিয়ে একটা array লিখে ফেলো। যে বই গুলোর দাম ২০০ টাকার উপরে সেগুলাকে স্কিপ করবে। অর্থাৎ সেগুলাকে আউটপুট হিসেবে দেখাবে না। বাকিদের কে আউটপুট হিসেবে দেখাবে। দেখো করতে পারো কিনা।

var bookPrice = [120, 200, 300, 420, 150, 180, 79];
for(var i = 0; i < bookPrice.length; i++){
    var priceList = bookPrice[i];
    if(priceList > 200){
        continue;
    }
    console.log(priceList);
}

About

JavaScript Related interview questions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published