মডিউল পাঠ (2/2)
অ্যারে এবং Tuples
জাভাস্ক্রিপ্টে, অ্যারেতে যেকোনো ধরনের উপাদান থাকতে পারে এবং গতিশীলভাবে বৃদ্ধি বা সঙ্কুচিত হতে পারে। টাইপস্ক্রিপ্ট স্ট্যাটিক টাইপ চেকিং যোগ করে যাতে সংগ্রহগুলি একজাত থাকে বা একটি নির্দিষ্ট টাইপ কাঠামোকে সম্মান করে।
অ্যারে (একজাতীয় সংগ্রহ)
TypeScript-এ, একই ধরনের উপাদান সমন্বিত অ্যারের ধরন নির্ধারণ করার জন্য দুটি সমতুল্য উপায় রয়েছে:
-
বর্গাকার বন্ধনী দ্বারা অনুসৃত উপাদান প্রকার ব্যবহার করা (
[]):TSconst numbers: number[] = [1, 2, 3]; const strings: string[] = ['a', 'b', 'c']; -
জেনেরিক
Array<T>প্রকার ব্যবহার করা:TSconst numbers: Array<number> = [1, 2, 3];
উভয় বাক্য গঠন সম্পূর্ণ বৈধ, কিন্তু প্রথমটি (type[]) প্রচলিত এবং সবচেয়ে সাধারণ শৈলী। আপনি যদি একটি অবৈধ মান সন্নিবেশ করার চেষ্টা করেন (যেমন numbers.push("hello") একটি number[] অ্যারেতে), TypeScript একটি কম্পাইল-টাইম ত্রুটি তৈরি করবে।
Tuples (স্থির-দৈর্ঘ্য অ্যারে)
একটি টুপল হল একটি বিশেষ ধরনের অ্যারে যাতে একটি নির্দিষ্ট সংখ্যক উপাদান থাকে যেখানে প্রতিটি উপাদানের অবস্থানের উপর ভিত্তি করে একটি পূর্বনির্ধারিত নির্দিষ্ট প্রকার থাকে।
উদাহরণস্বরূপ, একটি স্থিতি কোড (সংখ্যা) এবং একটি বার্তা (স্ট্রিং) দিয়ে তৈরি একটি HTTP প্রতিক্রিয়া সংরক্ষণ করতে:
const response: [number, string] = [200, 'OK'];এই ক্ষেত্রে:
- প্রথম উপাদান (
response[0]) অবশ্যই একটিnumberহতে হবে। - দ্বিতীয় উপাদান (
response[1]) অবশ্যই একটিstringহতে হবে। - অ্যারেটি অবশ্যই 2টি উপাদান দিয়ে শুরু করতে হবে।
শুধুমাত্র পঠনযোগ্য টিপলস (readonly)
টাইপস্ক্রিপ্টের টিপল সম্পর্কে একটি গুরুত্বপূর্ণ বিশদ হল যে রানটাইমে তারা সাধারণ জাভাস্ক্রিপ্ট অ্যারে। এর মানে হল .push() বা .pop() এর মত পরিবর্তনশীল পদ্ধতিগুলি প্রযুক্তিগতভাবে উপলব্ধ এবং আংশিকভাবে টাইপ চেক বাইপাস করে টিপল দৈর্ঘ্য পরিবর্তন করতে পারে৷
এই আচরণ প্রতিরোধ করতে এবং সত্যিকারের অপরিবর্তনীয়তা প্রয়োগ করতে, আমরা readonly সংশোধক ব্যবহার করতে পারি:
const point: readonly [number, number] = [10, 20];
// point.push(30); // Compile-time error!নিজে চেষ্টা করে দেখুন
অনুশীলনী 1: সংখ্যার অ্যারে
একটি অ্যারে নামক স্কোর ঘোষণা করুন যাতে শুধুমাত্র সংখ্যা থাকে এবং 90, 85 এবং 95 মান দিয়ে শুরু হয়। অ্যারের জন্য স্পষ্ট টাইপ টীকা ব্যবহার করুন। কোন প্রকার ব্যবহার করবেন না।
ইঙ্গিত দেখান
সিনট্যাক্স কনস্ট স্কোর ব্যবহার করুন: সংখ্যা[] = ... বা অ্যারে<number>।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম 2: 3D স্থানাঙ্ক Tuple
একটি টিপল নামক পয়েন্ট ঘোষণা করুন যা একটি 3D স্থানাঙ্ক (X, Y, Z-এর জন্য তিনটি সংখ্যা) প্রতিনিধিত্ব করে এবং 10, 20, 30 মান দিয়ে আরম্ভ করা হয়। স্পষ্ট টাইপ টীকা ব্যবহার করুন।
ইঙ্গিত দেখান
টিপল টাইপ অবশ্যই [সংখ্যা, সংখ্যা, সংখ্যা] হতে হবে।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম 3: অবস্থান তথ্য Tuple
লোকেশন ইনফো নামের একটি টিপল ঘোষণা করুন যা এর নামের সাথে একটি ভৌগলিক স্থানাঙ্ক উপস্থাপন করে। এতে অবশ্যই থাকতে হবে: অক্ষাংশ (সংখ্যা), দ্রাঘিমাংশ (সংখ্যা) এবং শহরের নাম (স্ট্রিং)। এটিকে 41.9028, 12.4964 এবং 'রোম' মান দিয়ে শুরু করুন।
ইঙ্গিত দেখান
তিনটি উপাদান সহ একটি টিপল সংজ্ঞায়িত করতে সিনট্যাক্স ব্যবহার করুন: [সংখ্যা, সংখ্যা, স্ট্রিং]।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
ব্যায়াম 4: লগ এন্ট্রি Tuple
লগ লাইনের প্রতিনিধিত্বকারী logEntry নামে একটি টিপল ঘোষণা করুন। এটি অবশ্যই ক্রমানুসারে থাকতে হবে: একটি টাইমস্ট্যাম্প (সংখ্যা), একটি তীব্রতা স্তর (স্ট্রিং), এবং একটি ত্রুটি বার্তা (স্ট্রিং)৷ টাইমস্ট্যাম্প 1716300000, স্তর 'INFO', এবং 'অ্যাপ্লিকেশন শুরু হয়েছে' বার্তা দিয়ে এটি শুরু করুন।
ইঙ্গিত দেখান
একটি তিন-উপাদান টিপল সংজ্ঞায়িত করতে সিনট্যাক্স ব্যবহার করুন: [সংখ্যা, স্ট্রিং, স্ট্রিং] এবং নির্দিষ্ট মান নির্ধারণ করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ