মডিউল পাঠ (1/2)
আদিম প্রকার এবং টীকা
টাইপস্ক্রিপ্ট হল জাভাস্ক্রিপ্টের একটি টাইপ করা সুপারসেট, যার অর্থ এটি বিদ্যমান জাভাস্ক্রিপ্টের উপরে স্ট্যাটিক টাইপ সিনট্যাক্স যোগ করে। রানটাইমে, সমস্ত টাইপস্ক্রিপ্ট কোড খাঁটি জাভাস্ক্রিপ্টে সংকলিত হয় এবং বিল্ড প্রক্রিয়া চলাকালীন প্রকারগুলি সম্পূর্ণরূপে অদৃশ্য হয়ে যায়।
TypeScript-এর জন্য ধন্যবাদ, আপনি কোডটি ব্রাউজারে চলার আগে ত্রুটি ধরতে পারেন, আপনার বিকাশ প্রক্রিয়াকে আরও শক্তিশালী, নিরাপদ এবং মাপযোগ্য করে তোলে।
আদিম প্রকার
টাইপস্ক্রিপ্ট স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট আদিম প্রকারগুলিকে সমর্থন করে:
string: অক্ষরের ক্রম প্রতিনিধিত্ব করে (যেমন'Alice',"Hello")।number: সংখ্যাসূচক মান, পূর্ণসংখ্যা এবং দশমিক উভয়ই প্রতিনিধিত্ব করে (যেমন42,3.14)।boolean: সত্য মান প্রতিনিধিত্ব করে (trueবাfalse)।nullএবংundefined: একটি মানের ইচ্ছাকৃত বা অনিচ্ছাকৃত অনুপস্থিতির প্রতিনিধিত্ব করুন৷
const username: string = 'Alice';
const score: number = 100;
const isActive: boolean = true;পরিবর্তনশীল টীকা এবং অনুমান
TypeScript-এ, আমরা টাইপের পরে একটি কোলন (:) ব্যবহার করে টাইপ টীকা যোগ করতে পারি।
আপনি যদি একটি ভিন্ন ধরনের মান নির্ধারণ করার চেষ্টা করেন (উদাহরণস্বরূপ, age-এ একটি স্ট্রিং বরাদ্দ করা একটি number হিসাবে সংজ্ঞায়িত), টাইপস্ক্রিপ্ট কম্পাইলার কোডটি চালানোর আগে অবিলম্বে একটি ত্রুটি উত্থাপন করবে।
any প্রকারের বিপদ
any টাইপ হল একটি বিশেষ এস্কেপ হ্যাচ যা টাইপস্ক্রিপ্টকে সেই ভেরিয়েবলের জন্য টাইপ চেকিং সম্পূর্ণরূপে বন্ধ করতে বলে।
let data: any = 42;
data = 'Hello'; // No error!
data.nonExistentMethod(); // No error at compile time, but it crashes at runtime!any ব্যবহার করা TypeScript ব্যবহার করার সমস্ত নিরাপত্তা সুবিধা অস্বীকার করে৷ এটি একটি খারাপ অভ্যাস হিসাবে বিবেচিত হয় এবং প্রায় সবসময় উত্পাদন কোড এড়ানো উচিত।
ফাংশন টীকা এবং void প্রকার
আমরা একটি ফাংশনের প্যারামিটার এবং রিটার্ন মান উভয়ই টীকা দিতে পারি:
function calculateTax(price: number, taxRate: number): number {
return price * taxRate;
}যদি কোনো ফাংশন কোনো মান ফেরত না দেয় (উদাহরণস্বরূপ, এটি শুধুমাত্র একটি console.log করে), তার রিটার্নের ধরন হল void:
function logMessage(message: string): void {
console.log(message);
}নিজে চেষ্টা করে দেখুন
অনুশীলনী 1: টাইপ করা ভেরিয়েবল
তিনটি স্পষ্টভাবে টাইপ করা ভেরিয়েবল ঘোষণা করুন: 'এলিস' মান সহ স্ট্রিং হিসাবে ব্যবহারকারীর নাম, মান 100 সহ সংখ্যা হিসাবে স্কোর এবং মান সত্য সহ বুলিয়ান হিসাবে isActive। কোন প্রকার ব্যবহার করবেন না।
ইঙ্গিত দেখান
প্রতিটি ভেরিয়েবলের নামের পরে সিনট্যাক্স : স্ট্রিং, : সংখ্যা এবং : বুলিয়ান ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম 2: অভিবাদন ফাংশন
greet নামে একটি ফাংশন তৈরি করুন যা টাইপ স্ট্রিং-এর একটি প্যারামিটার নাম গ্রহণ করে এবং নাম অনুসরণ করে 'হ্যালো' ফরম্যাটে একটি স্ট্রিং প্রদান করে। স্পষ্টভাবে প্যারামিটার প্রকার এবং রিটার্ন টাইপ উভয়ই উল্লেখ করুন।
ইঙ্গিত দেখান
ফাংশনটিকে ফাংশন গ্রিট (নাম: স্ট্রিং): স্ট্রিং { ... } হিসাবে ঘোষণা করুন এবং বার্তাটি ফেরত দিন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অনুশীলনী 3: তাপমাত্রা রূপান্তরকারী
সেলসিয়াস টোফারেনহাইট নামে একটি ফাংশন ঘোষণা করুন যা টাইপ নম্বরের একটি প্যারামিটার সেলসিয়াস গ্রহণ করে এবং ডিগ্রি ফারেনহাইট (সংখ্যা) এর সমতুল্য তাপমাত্রা প্রদান করে। সূত্রটি সেলসিয়াস * 9 / 5 + 32। স্পষ্টভাবে প্যারামিটার প্রকার এবং রিটার্ন টাইপ উভয়ই উল্লেখ করুন।
ইঙ্গিত দেখান
সেলসিয়াসকে 9 দ্বারা গুণ করুন, 5 দ্বারা ভাগ করুন, 32 যোগ করুন এবং ফাংশনে একটি : সংখ্যা রিটার্ন টাইপ দিয়ে ফলাফলটি দিন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম 4: ডিসকাউন্ট গণনা
calculateDiscount নামে একটি ফাংশন তৈরি করুন যা টাইপ নম্বরের একটি প্যারামিটার মূল্য এবং টাইপ নম্বরের একটি প্যারামিটার ছাড় শতাংশ গ্রহণ করে এবং একটি সংখ্যা হিসাবে চূড়ান্ত ছাড়ের মূল্য প্রদান করে। স্পষ্টভাবে প্যারামিটার প্রকার এবং রিটার্ন টাইপ উভয়ই উল্লেখ করুন।
ইঙ্গিত দেখান
1 থেকে 100 দ্বারা বিভক্ত ডিসকাউন্ট শতাংশ বিয়োগ করুন, তারপর মূল্য দ্বারা গুণ করুন। পরামিতি টীকা এবং নম্বর হিসাবে মান ফেরত নিশ্চিত করুন.
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ