আমি সঙ্গে একটি বস্তু সংজ্ঞায়িত করার চেষ্টা করছি প্রতীক কী-টাইপ হিসাবে যেহেতু MDN বলেছেন:
প্রতীক মানটি বস্তুর বৈশিষ্ট্যগুলির জন্য সনাক্তকারী হিসাবে ব্যবহৃত হতে পারে [...]
তবে কী-সম্পত্তি হিসাবে টাইপ হিসাবে এটি ব্যবহার:
type obj = {
[key: symbol | string]: string
}
নিম্নলিখিত ত্রুটির ফলাফল:
TS1023: একটি সূচক স্বাক্ষর পরামিতি প্রকারের অবশ্যই 'স্ট্রিং' বা 'সংখ্যা' হওয়া আবশ্যক।
এমনকি এটি সূচক-প্রকার হিসাবে ব্যবহার করা যেতে পারে। আমি সর্বশেষ টাইপস্ক্রিপ্ট সংস্করণ ( v3.7.2
) ব্যবহার করছি , সম্পর্কিত প্রশ্নগুলি আমি পেয়েছি:
- টাইপসক্রিপ্ট: কী হিসাবে চিহ্নের সাহায্যে একটি অবজেক্ট তৈরি করা (তিনি প্রতীকটির প্রকৃত উদাহরণ ব্যবহার করছেন, আমি টাইপটি চাই
symbol
) - টাইপস্ক্রিপ্ট: স্ট্রিং | ব্যবহার করার চেষ্টা করার সময় একটি সূচক স্বাক্ষর পরামিতি অবশ্যই একটি 'স্ট্রিং' বা 'নম্বর' হওয়া উচিত সংখ্যা
- ES6: কী হিসাবে চিহ্নের সাহায্যে কোনও বস্তুর বিন্যাস করা (এটি কোনও সমাধান হতে পারে না - প্রতিটি প্রতীক উদাহরণটি অনন্য হওয়ায় প্রকৃত উদাহরণটি টাইপ হিসাবে ব্যবহার করা ভুল বলে মনে হচ্ছে ...)
আমি টাইপস্ক্রিপ্ট প্রতীক ডক্সও একবার দেখেছি তবে তারা কেবল দেখায় যে এটি কীভাবে মূল্য হিসাবে ব্যবহৃত হয়, টাইপ হিসাবে নয়।
উদাহরণ:
const obj = {} as {
[key: number | symbol]: string // Won't work
};
const sym = Symbol('My symbol');
obj[sym] = 'Hi';
any
যা ব্যবহার না করে খারাপ অভ্যাস)।
Map<Symbol,String>
আমাদের মানচিত্র হিসাবে ব্যবহার করার চেষ্টা করেছেন , যদি আপনি এটি অর্জন করার চেষ্টা করছেন তার উদ্দেশ্যটি
symbol
? আপনি কীভাবে আপনার ব্যবহার করতে চান তার একটি উদাহরণ দেখানtype obj
- আমি সন্দেহ করি যে সমস্ত চিহ্ন-কীড বৈশিষ্ট্যগুলি হবেstring
।