মূল বিষয়বস্তুতে যান
ToolMug

সরাতে ↑ ↓, খুলতে Enter, বন্ধ করতে Esc চাপুন।

অনলাইনে JavaScript চালান

JavaScript লিখুন বা পেস্ট করে চালান বোতামে ক্লিক করুন, যাতে console.log, warn ও error-এর আউটপুট দেখা যায়—ছোট snippet পরীক্ষা করা, অ্যালগরিদম অনুশীলন করা বা সামান্য লজিক ডিবাগ করার জন্য। Top-level await কাজ করে, আর কোড আলাদা worker-এ চলে, তাই infinite loop পেজ আটকে দেবে না।

আপনার ব্রাউজারে চলে — আপনি যা দেন তার কিছুই আপলোড হয় না

Ctrl+Enter / ⌘+Enter

কনসোল

console.log-এর আউটপুট এখানে দেখা যাবে।

আলাদা worker-এ চলে: DOM (document, window) নেই, তবে fetch, timers, JSON, Intl ও অন্যান্য built-in কাজ করে।

কীভাবে ব্যবহার করবেন

  1. বাম দিকে কোড লিখুন, অথবা উদাহরণটি সম্পাদনা করুন।
  2. চালান বোতামে ক্লিক করুন বা Ctrl+Enter চাপুন (Mac-এ ⌘+Enter)। কনসোলের আউটপুট ডান দিকে দেখা যাবে।
  3. কোড চলতে বেশি সময় নিলে বন্ধ বোতামে ক্লিক করুন, অথবা নিচের ডান দিকে সময়সীমা নির্ধারণ করুন।

অপশনগুলোর ব্যাখ্যা

পরিবেশ
আপনার ব্রাউজারে একটি Web Worker চলে; এতে আপনার ব্রাউজার সমর্থন করা সর্বশেষ JavaScript syntax, fetch, setTimeout, Intl এবং crypto আছে, কিন্তু document বা window নেই।
কনসোল
console.log, info, warn, error, debug, table, count এবং time/timeEnd; %s, %d ও %o প্লেসহোল্ডার সমর্থিত। অবজেক্টগুলো Node.js-এর মতোই বিস্তারিতভাবে খুলে দেখা যায়।
Top-level await
কোডটি একটি async function-এর ভিতরে চলে, তাই সরাসরি await ব্যবহার করতে পারেন।

কী প্রিন্ট হয়

শুধু কনসোলে যা পাঠান তা-ই আউটপুটে আসে। ব্রাউজার কনসোলের মতো শেষ লাইনের মান দেখানো হয় না, তাই সেটি console.log-এ মুড়ে দিন। প্রিন্ট Node.js স্টাইল অনুসরণ করে: অ্যারে ও অবজেক্ট বিস্তারিত দেখায়, তাদের ভেতরের স্ট্রিং কোটে থাকে, এবং %s ও %d প্লেসহোল্ডার পরের আর্গুমেন্ট থেকে পূর্ণ হয়।

console.log([1, 2, 3].map((n) => n * n));
console.log('%s is %d years old', 'Ada', 36);
console.log({ name: 'Ada', tags: ['a', 'b'] });
const data = await fetch('https://example.com/').then((r) => r.status);
console.log(data);

প্রথম তিন লাইন প্রিন্ট করে [ 1, 4, 9 ], Ada is 36 years old এবং { name: "Ada", tags: [ "a", "b" ] }। শেষ দুই লাইনে নেটওয়ার্ক সংযোগ লাগে এবং অনুরোধের HTTP স্ট্যাটাস প্রিন্ট হয়। সময়সীমা 5, 10, 30 বা 60 সেকেন্ড সেট করা যায়; সীমায় পৌঁছালে চালানো শেষ হয় এবং একটি বার্তা তা জানায়।

সচরাচর জিজ্ঞাসিত প্রশ্ন

আমি কি npm package import করতে পারি?

import statement দিয়ে তা করা যায় না। await import('https://esm.sh/package-name') ব্যবহার করে ESM package গতিশীলভাবে লোড করতে পারেন; এর জন্য network connection দরকার।

আমি যদি অসীম loop লিখি, তাহলে কী হবে?

সঙ্গে সঙ্গে শেষ করতে বন্ধ বোতামে ক্লিক করুন, অথবা সময়সীমায় পৌঁছালে এটি স্বয়ংক্রিয়ভাবে থেমে যাবে। প্রতিবার চালালে নতুন worker ব্যবহার হয়, তাই পেজে কোনো প্রভাব পড়ে না।

আমার কোড কি আপলোড করা হয়?

না। এটি শুধু আপনার ব্রাউজারেই চলে; কেবল আপনার নিজের কোড যে network request পাঠায়, সেগুলোই পাঠানো হয়।

TypeScript কি সমর্থিত?

এই মুহূর্তে শুধু JavaScript সমর্থিত; আগে TypeScript-এর type annotation সরিয়ে নিন।

গোপনীয়তা

এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।

সম্পর্কিত টুল