এটি objহিসাবে চিহ্নিত করা সম্ভব any, তবে এটি টাইপস্ক্রিপ্ট ব্যবহারের পুরো উদ্দেশ্যকে পরাস্ত করে। obj = {}ইঙ্গিত objএকটি হয় Object। এটি চিহ্নিত করা anyকোনও অর্থহীন নয়। পছন্দসই ধারাবাহিকতাটি সম্পাদনের জন্য একটি ইন্টারফেস নিম্নলিখিত হিসাবে সংজ্ঞায়িত করা যেতে পারে।
interface LooseObject {
[key: string]: any
}
var obj: LooseObject = {};
বা এটি কমপ্যাক্ট করতে:
var obj: {[k: string]: any} = {};
LooseObjectকী হিসাবে কোনও স্ট্রিং সহ ক্ষেত্রগুলি গ্রহণ করতে পারে এবং anyমান হিসাবে টাইপ করতে পারে।
obj.prop = "value";
obj.prop2 = 88;
এই সমাধানটির আসল কমনীয়তা হ'ল আপনি ইন্টারফেসে টাইপসেফের ক্ষেত্রগুলি অন্তর্ভুক্ত করতে পারেন।
interface MyType {
typesafeProp1?: number,
requiredProp1: string,
[key: string]: any
}
var obj: MyType ;
obj = { requiredProp1: "foo"}; // valid
obj = {} // error. 'requiredProp1' is missing
obj.typesafeProp1 = "bar" // error. typesafeProp1 should be a number
obj.prop = "value";
obj.prop2 = 88;
যদিও এটি আসল প্রশ্নের উত্তর দেয়, এখানে @ গ্রেইনক্রিয়েশনগুলির উত্তরটি কীভাবে সমস্যাটির কাছে যেতে পারে সে সম্পর্কে অন্য দৃষ্টিভঙ্গি দিতে পারে।