প্রকল্প সম্পর্কে

# What the f*ck JavaScript? এই রিপোজিটরিটি মজার এবং ধাঁধাঁযুক্ত জাভাস্ক্রিপ্ট উদাহরণের একটি সংগ্রহ, যা Brian Leroux-এর dotJS 2012-এ দেওয়া "WTFJS" বক্তৃতা দ্বারা অনুপ্রাণিত। এর লক্ষ্য হল অদ্ভুত কোড স্নিপেট সংগ্রহ করা এবং সেগুলি কীভাবে কাজ করে তা ব্যাখ্যা করা, প্রায়শই ECMA-262 স্পেসিফিকেশন উল্লেখ করে। হ্যান্ডবুকটি অফলাইন পড়ার জন্য একটি npm প্যাকেজ (`wtfjs`) হিসাবে উপলব্ধ, এবং এটি চীনা, হিন্দি, ফরাসি, পর্তুগিজ, পোলিশ, ইতালীয় এবং কোরিয়ান সহ একাধিক ভাষায় অনূদিত হয়েছে। ## বিষয়বস্তুর ওভারভিউ তালিকাটিতে ৬০টিরও বেশি উদাহরণ রয়েছে, প্রতিটিতে একটি কোড স্নিপেট এবং একটি বিস্তারিত ব্যাখ্যা রয়েছে। বিষয়গুলির মধ্যে রয়েছে: - **সমতা এবং কোরসন কুইর্ক**: যেমন, `[] == ![]` হল `true`, `true == []` হল `false`, `null == false` হল `false`। - **NaN এবং সংখ্যার অদ্ভুততা**: `NaN === NaN` হল `false`, `Number.MIN_VALUE > 0` হল `true`, `parseInt` প্রান্তিক ক্ষেত্র। - **অ্যারে এবং স্ট্রিং আচরণ**: অ্যারে সংযোজন, ট্রেইলিং কমা, অ্যারে সমতা দানব। - **ফাংশন এবং ক্লাস অসঙ্গতি**: `class Foo extends null` ত্রুটি, অ্যারো ফাংশন কনস্ট্রাক্টর নয়। - **বিবিধ কৌশল**: `"b" + "a" + +"a" + "a"` ফলাফল `'baNaNa'`, জাভাস্ক্রিপ্টে HTML মন্তব্য, `document.all` undefined হওয়া, এবং আরও অনেক কিছু। প্রতিটি উদাহরণ ECMA-262 স্পেসিফিকেশনের প্রাসঙ্গিক বিভাগ বা বাহ্যিক রেফারেন্সের লিঙ্ক সহ টীকাযুক্ত, যা এটিকে নতুনদের জন্য গভীর বোঝাপড়া এবং পেশাদারদের জন্য জাভাস্ক্রিপ্টের অপ্রত্যাশিত প্রান্তগুলির একটি সংকলন হিসাবে দরকারী করে তোলে। ## অনুপ্রেরণা প্রাথমিক লক্ষ্য হল মজা এবং শেখা। লেখক পাঠকদের স্পেসিফিকেশন অন্বেষণ করতে এবং নতুন কিছু আবিষ্কার করতে উৎসাহিত করেন, তারা নতুন বা অভিজ্ঞ ডেভেলপার হোক না কেন। ## ব্যবহার npm এর মাধ্যমে ইনস্টল করুন: ``` $ npm install -g wtfjs ``` তারপর আপনার পছন্দের পেজারে ম্যানুয়াল খুলতে `wtfjs` চালান। ## অনুবাদ কমিউনিটি-রক্ষণাবেক্ষণ করা অনুবাদগুলি বেশ কয়েকটি ভাষায় উপলব্ধ, যদিও সেগুলিতে প্রতিটি উদাহরণ নাও থাকতে পারে বা সম্পূর্ণ আপ-টু-ডেট নাও হতে পারে। ## লাইসেন্স WTFPL 2.0 লাইসেন্সের অধীনে প্রকাশিত।