প্রিয় ডেভেলপারস, আশা করি সবাই ভালো আছেন। আজকের ব্লগে TypeScript এবং JavaScript এর মধ্যকার পার্থক্য নিয়ে বিস্তারিত আলোচনা শেয়ার করবো, তাহলে চলুন শুরু করা যাক –
JavaScript |
TypeScript |
JavaScript ডাইন্যামিক টাইপড ভাষা,
অর্থ্যাৎ ভ্যারিয়েবল টাইপস রাইনটাইমে নির্ধারিত হয়। জাভাস্ক্রিপ্টে explicitly ভ্যারিয়বলের
ডাটা টাইপ ডিক্লেয়ার করতে হয় না। |
TypeScript
এটি JavaScript এর একটি স্ট্যাটিকালি টাইপ সুপারসেট, অর্থ্যাৎ আপনি কম্পাইল-টাইমে
ভ্যারিয়বলের টাইপ নির্দিষ্ট করে দেওয়া যায়। যার মাধ্যমে ডেভেলপমেন্ট প্রক্রিয়াতে
টাইপ সম্পর্কিত এররগুলো ধরতে এবং আরও ভালো Tooling Support প্রদান করতে সহায়তা করে।
|
জাভাস্ক্রিপ্টে রানটাইমে ভ্যারিয়েবলের
টাইপ ইনফার করে এবং explicitly ভ্যারিয়েবলের টাইপ ডিক্লেয়ার করার জন্য কোন সিনট্যাক্স
নেই। |
টাইপস্ক্রিপ্টে
একটি ভ্যারিয়েবলের টাইপ, ফাংশন প্যারামিটার বা ফাংশনের রিটার্ন ভ্যালু Type annotations
এর মাধ্যমে ডিক্লেয়ার করা যায়। |
জাভাস্ক্রিপ্ট Interpreted
language এবং কোড সরাসরি ব্রাউজার বা জাভাস্ক্রিপ্ট ইঞ্জিন দ্বারা execute করা হয় |
টাইপস্ক্রিপ্ট
কোড execute করার পূর্বে এটি জাভাস্ক্রিপ্টে Transpiled করতে হয়। টাইপস্ক্রিপট কোড
.ts ফাইলে লিখতে হয় এবং এক্সিকিউশনের জন্য .js ফাইলে রুপান্তরিত হয়। |
Object Oriented Programming
(OOPs) এর ফিচারড সাপোর্ট করে, যেমন Object এবং Prototypes কিন্তু class এর
explicitly সাপোর্ট নেই। |
টাইপস্ক্রিপ্টের
সরাসরি Object Oriented Programming (OOPs) সাপোর্ট করে, যেমন – Interfaces,
class এবং access modifiers. |
জাভাস্ক্রিপ্টে enums টাইপ সাপোর্ট করে না। |
টাইপস্ক্রিপ্টে
enums টাইপ সাপোর্ট করে। (enum এমন একটি ডাটা টাইপ যেখানে আমরা নির্দিষ্ট কিছু
Constant নিয়ে কাজ করতে পারি (string, number) এবং এর অন্যতম বৈশিষ্ট্য হলো ডুফলিকেট
ভ্যালু রাখা যায় না।) |
জাভাস্ক্রিপ্টে Union এবং
Intersection টাইপ explicitly সিনট্যাক্স নেই। |
টাইপস্ক্রিপ্টে
Union এবং Intersection টাইপ এর মাধ্যমে ভ্যারিয়েবল টাইপস ডিক্লেয়ার করতে ফ্লেক্সিবেলিটি
প্রদান করে। |
Code completion এবং Error
checking এর মতো বৈশিষ্ট্যগুলোর জন্য সীমিত টুলিং সমর্থন করে কেননা জাভাস্ক্রিপ্ট
রানটাইম বিশ্লেষণের উপর নির্ভর করে। |
স্বয়ংসম্পূর্ণতা,
রিফ্যাক্টরিং এবং কম্পাইল এর সময়ে এরর পরীক্ষা করার মতো বৈশিষ্ট্যসহ উন্নত টুলিং
সমর্থন প্রদান করে। |
জাভাস্ক্রিপ্ট এ লেখা কোড জাভাস্ক্রিপ্ট
সমর্থন করে এমন যেকোন এনভায়রণমেন্টে সহজে রান করা যায়। |
টাইপস্ক্রিপ্ট
হলো জাভাস্ক্রিপ্টের একটি সুপারসেট, তাই সমস্ত ভ্যালিড জাভাস্ক্রিপ্ট কোডও ভ্যালিড
টাইপস্ক্রিপ্ট কোড। টাইপস্ক্রিপ্ট কোড এক্সকিউট করার পূর্বে জাভাস্ক্রিপ্টে ট্রান্সফাইলড
করে নিতে হয়। |
আশা করি আপনি আজকের এই ব্লগটি মনোযোগ সহকারে পড়েছেন। আজকের ব্লগটি আপনার কাছে কেমন লেগেছে অবশ্যই কমেন্ট করে জানাবেন, আর যদি কোন ভূল হয়ে থাকে তাহলে ক্ষমা সুন্দর দৃষ্টিতে দেখবেন এবং কোথায় ভূল হয়েছে কমেন্ট করে জানাবেন। পোষ্টে উল্লিখিত কোনো অংশ যদি বুঝতে সমস্যা হয়, তাহলে কমেন্ট বক্সে জানিয়ে দিন। ইনশাআল্লাহ্, সমস্যা সমাধানের চেষ্টা করবো। আর ওয়েবসাইটটি বন্ধুদের মাঝে শেয়ার করবেন। আজকের মতই এখানেই বিদায় নিলাম, ইনশাআল্লাহ দেখা হবে অন্য কোন ব্লগে। ভালো থাকবেন সুস্থ থাকবেন। আল্লাহ হাফেয।