ইন্টারফেসে টাইপস্ক্রিপ্ট ptionচ্ছিক ফাংশন


99

Typeচ্ছিক ফাংশন সহ টাইপস্ক্রিপ্টে কোনও ইন্টারফেস তৈরি করা সম্ভব?

interface IElement {
  name: string;
  options: any;
  type: string;
  value?: string;
  validation(any): boolean; // --> should be optional.

}

4
আমি একটি উত্তর পেয়েছি, আমি মনে করি যে এটির মতো alচ্ছিক কার্যকারিতা বাস্তবায়ন করা সম্ভব: বৈধতা?: (কোনও) => বুলিয়ান;
— আন্তন সেলিন

উত্তর:


194

ইন্টারফেসে টাইপস্ক্রিপ্ট ফাংশন ঘোষণার জন্য মঞ্জুরি দেয় এমন তিনটি সিনট্যাক্স রয়েছে:

validation1 টি প্যারামিটার ( anyটাইপ) এবং একটি booleanফেরতের মান গ্রহণ করে এমন কোনও ফাংশনের উদাহরণ ব্যবহার করে :

validation: {(flag: any): boolean};

বা আরও নতুন সিনট্যাক্সে:

validation(flag: any) : boolean;

বা বিকল্পটি হ'ল:

validation: (flag: any) => boolean;

সমাধান:

সুতরাং এটি পুরানো বাক্য গঠন দিয়ে alচ্ছিক করা সহজ:

validation?: {(flag: any): boolean};

দ্বিতীয় বাক্য গঠন সহ (সাম্প্রতিক সংযোজন - ধন্যবাদ @toothbrush)

validation?(flag: any) : boolean;

বা তৃতীয় বাক্য গঠনতে (যেমন আপনি পেয়েছেন):

validation?: (flag: any) => boolean;

4
আপনি যেভাবে এটি লিখেছেন, anyএটি কোনও প্রকার নয়, তবে পরামিতিটির নাম যা স্পষ্টভাবে টাইপের any। পরামিতিগুলির নামকরণ করা আবশ্যক, এমনকি ইন্টারফেসেও। --NoImpLiveAny সক্ষম করা থাকলে এই কোডটি সংকলন করতে ব্যর্থ হবে। এটি এমন কিছু হওয়া উচিত: validation?:(whatever:any) => boolean;যেখানে whateverকিছু যুক্তিসঙ্গত প্যারামিটারের নাম।
— এনওয়াইসিডটনেট

@ এনওয়াইসিডটনেট: হ্যাঁ, আমার আসলটি পড়ার মতো করা উচিত হয়নি । সংশোধন করা হয়েছে :)
— কোডিং গেছে

@ গে-কোডিং হাই! ফাংশনটি সংজ্ঞায়িত করা হয়েছে কিনা তা আমি কীভাবে জানতে পারি?
— ইলান অলকিজ

4
@ ইলানলকিজ: জাভাস্ক্রিপ্টের যে কোনও কিছুর জন্য আপনি একইভাবে পরীক্ষা করেছেন if (object.validation):) এটি অবজেক্টের প্রেক্ষাপটের বিপরীতে হওয়া প্রয়োজন, if (this.validation)আপনার পরিস্থিতি অনুসারে এটি উপযুক্তও হতে পারে।
— কোডিং গেছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.