Module ৪১ এ আমরা যাকিছু শিখেছি
Getting started with typeScript
Npm = node package manager
What is typeScript? And how can you install it?
typeScript Command এর সাহায্যে তোমার প্রোজেক্ট ফোল্ডারে ইন্সটল কর ।
এখন তোমার typeScript রান করার পালা । স্বাধারণ Js মত তুমি first.ts কে লিঙ্ক করে খুশিতে html ফাইল টা লাইভ করে দেখলে Refused to execute script first.ts । তখন তোমার মনে আসবে এ বেটা কি কয় । ঠিকই বলছে ব্রাউজার । ব্রাউজার HTML, CSS, JS অর্থাৎ প্রোগ্রামিং ল্যাঙ্গুয়েজ ছাড়া আর কিছু execute করতে পারে না । এখন typeScript (.ts) ফাইল রান করার উপায় কি ? typeScript টাকে colpiled করে JS এ কনভার্ট করতে হবে ।
tsc = type script compiler
বলছিলাম typeScript ব্রাউজারে কাজ করবে না । কাজ করার জন্য .ts ফাইলকে JS এ কনভার্ট করতে হবে । তবে সেটা কিভাবে ? npx tsc এই command এর মাধ্যমে । এই command তা দিলে তুমি কিছু error খেয়ে যাবে । এরকম যে .ts ফাইলটা Js এ কনভার্ট করতে পাচ্ছে না । তাই npx tsc এর সাথে ফাইল নামটাও দিতে হবে । যেমন ঃ npx tsc first.ts (এটা করলেই typeScript ফাইলটা JS এ কনভার্ট হয়ে যাবে )
তবে অনেক .ts ফাইল থাকলে একটা একটা করে npx tsc first.ts এমন করে কনভার্ট করারটা একটু deficult . তাই তোমাকে typeScript আরও একটা সুবিধা দিবে সব ফাইল একসাথে কনভার্ট করার জন্য ।
১. tsc -- init এটা দিলেও তুমি কিছু error খেয়ে যাবা । এর কারণ হচ্ছে তুমি গ্লোবালি ইন্সটল করনি । গ্লোবালি ইন্সটল করলে তুমি এর error খাবে না
২. Error খেয়ে গেলে করনীয় কি ? npx tsc --init ( এই command টা দেওয়ার সাথে সাথেই তুমি একটা tsConfig.json ফাইল পেয়ে যাবে ) |
যদি তুমি .ts ফাইলে চেঞ্জ কর । তাহলে কিন্তু আবার তোমাকে .ts ফাইলটাকে compiled করে Js এ কনভার্ট করতে হবে । আগের same command npx tsc fileName.ts তাহলেই Js ফাইলের মাধ্যমে তুমি পরবর্তীতে যে পরিবর্তন করেছ সেটা দেখতে পারবে ।
ওকে । তোমার ,মনে আছে ? কিছুক্ষণ আগে একটা tsConfig.json নামে একটা ফাইল তৈরি হয়েছিলো ? সেটাতে দেখবে “targer” = “es5” দেওয়া আছে । তার মানে সে ES5 কে সাপোর্ট করবে । সেটা পরিবর্তন করে তুমি “targer” = “es6” করে দিবে ।
তুমি আর একটা tsConfig.json এ common পরিবর্তন করতে পার সেটা হচ্ছে । ওই যে তুমি কোমান্ডের মাধ্যমে .ts ফাইল থেকে .js এ কনভার্ট করে দিচ্ছিলে না ? সেই .js ফাইলটা কোথায় তৈরি হত ? গ্লবালি অর্থাৎ কোণ ফোল্ডারে ভেতরে না । যেমন আমরা CSS এর জন্য ফোল্ডার করি সেখানে CSS ফাইলটা রাখি । তেমনি .ts থেকে কনভার্ট করা .js ফাইল command এর মাধ্যমে একটা ফোল্ডারের ভেতরে রাখতে চাইলে নিচের ছবিটা লক্ষ কর ।
|
এতক্ষণ আমরা typeScript নিয়ে কাজ করলাম কিন্তু typeScript আসলেই কি তাতো জানা হল না । সেটা জানার জন্য তুমি typeScript এর ওয়েবসাইটে চলে যাবা । তার পর তুমি DOCS থেকে the Basic টা পড়ে নিবা । বোঝ বা না বোঝ । শুধু পড় । তাইলেই হবে
JS ফাইল VS .ts ফাইল
Js file এ যা করতে পারবে ।
Ts file এ যা করতে পারবে আর যা পারবে না ।
|
এবার আমরা typeScript এর array সম্পর্কে আলোচনা করি ।
const salary: number = 50000; const friendsSalary: number[] = [1, 2, 54, 1514, 5]; const name: string[] = ["rashedul", "islam", "shihab"]; friendsSalary[0] = 1000; friendsSalary[3] = "20000"; // error খেয়ে যাবে । number দাও বেটা । কাজ করে দিব । friendsSalary.push(6000000); friendsSalary.push("500000")// আবে সালা স্ট্রিং দাও ক্যা । নাম্বার দাও ।
|
এবার আমরা typeScript এর Object সম্পর্কে আলোচনা করি ।
|
type এর একটা খালাত ভাই আছে যার নাম interface. এটা ঠিক type এর মতই কাজ করে তবে কিছু ভিন্নতা আছে ।
interface Player { name: string; club: string; salary: number; wife?: string; }
const messy: Player = { name: "messy", club: "abohani", salary: 15000, wife: "kopila begun", };
const hannan: Player = { name: "abdul hannan", club: "barir math", salary: 5000, //এখানে কিন্তু wife এর নাম দেওয়া হয়নি । কারণ Player interface এ আমরা একটা question mark দিয়ে তাকে optional করে দিয়েছি }; আরো কিছু উদাহরণ দেখে ফেলি
interface details { name: string; salary: number; } interface dev extends details { language: string; codeEditor: string; } const rashedul: dev = { name: "rashedul", salary: 15000, language: "JS", codeEditor: "VS code", };
|
তুমি ES6 এ কিভাবে ক্লাস ডিক্লার করতা ? মনে আছে ? ঠিক তেমন করেই typeScript এও তুমি ক্লাস ডিক্লার করতে পারবে ।
class Car { model: string; price: number; private _millage: number; constructor(model: string, price: number) { this.model = model; this.price = price; this._millage = 1000; } includeVat(tax: number): number { const taxAmount = (this.price * tax) / 100; const total = this.price + taxAmount; return total; } getMillage(): number { const realMillage = this._millage + 500; return realMillage; } } const toyata = new Car("toyota", 100000); const totalPrice = toyata.includeVat(25);
|
আর আমার github এ যাইতে চাইলে এই লিঙ্কে ক্লিক করুন
About
Md: Rashedul Islam Shihab Writer of this note Batch4 Social accounts |
Post a Comment