ইনলাইন জেএসডোক ব্যবহার করে কীভাবে প্যারামকে নির্দেশ করা যায়?


119

JSDoc উইকি জন্য মতে @param আপনি একটি @param নির্দেশ করতে পারি ব্যবহার ঐচ্ছিক

/**
    @param {String} [name]
*/
function getPerson(name) {
}

এবং আপনি ব্যবহার করে একটি প্যারাম ইনলাইন নির্দেশ করতে পারেন

function getPerson(/**String*/ name) {
}

এবং আমি নিম্নলিখিতগুলির মতো তাদের একত্রিত করতে পারি, যা ঠিক আছে।

/**
    @param [name]
*/
function getPerson(/**String*/name) {
}

তবে আমি জানতে চাই যদি সম্ভব হয় তবে এগুলি সমস্ত ইনলাইন করার কোনও উপায় আছে কিনা।

উত্তর:


123

অফিসিয়াল ডকুমেন্টেশন থেকে :

.চ্ছিক পরামিতি

ফু নামে একটি alচ্ছিক প্যারামিটার।

@param {number} [foo]
// or:
@param {number=} foo

ডিফল্ট মান 1 সহ একটি alচ্ছিক প্যারামিটার ফু।

@param {number} [foo=1]

7
আমি জিজ্ঞাসা করছিলাম কীভাবে এটি ইনলাইন করবেন। আপনি যে উদাহরণ সরবরাহ করছেন তা আমার প্রশ্নে যা দেখায় তেমনই মনে হয়।
স্টাডিজিক

67

কিছু খনন করার পরে আমি দেখতে পেলাম এগুলিও ঠিক আছে

/**
 * @param {MyClass|undefined}
 * @param {MyClass=}
 * @param {String} [accessLevel="author"] The user accessLevel is optional.
 * @param {String} [accessLevel] The user accessLevel is optional.
 */

এর চেয়ে সামান্য আরও দৃষ্টি আকর্ষণীয় function test(/**String=*/arg) {}


9
এগুলি বৈধ (এবং জেএসডোক সহায়তায় নথিভুক্ত), তবে তারা ইনলাইন নয় - যা আমি খুঁজছিলাম।
স্টাডিজিক

প্রশ্নটি ইনলাইন জেএসডোক স্বরলিপি সম্পর্কে। এটি আকর্ষণীয় তথ্য, তবে প্রশ্নের উত্তর দেয় না
কেন বেলো

51

আমি গুগল বন্ধ সংকলক ধরণের এক্সপ্রেশন ব্যবহার করে এটি করার একটি উপায় খুঁজে পেয়েছি । আপনি টাইপের পরে সমান চিহ্ন রেখেছেন: function test(/**String=*/arg) {}


10
ওয়েবস্টোরম / ইন্টিলিডিএ এই স্বরলিপিটি সমর্থন করে
পিটার আরন

3
হ্যাঁ, সুতরাং আমি মনে করি এটির উত্তর হিসাবে চিহ্নিত করার পক্ষে এটি যথেষ্ট গ্রহণযোগ্যতা পেয়েছে।
স্টাডজিক

4
@ পিটারআরনজেন্টাই, আমি এর জন্য একটি বৈশিষ্ট্য অনুরোধ রাখার ফলস্বরূপ আমি ওয়েবস্টোরম / ইন্টেলিআইডিএ সমর্থন করব :) :) তারা এখন গুগল ক্লোজার সংকলক প্রকারের এক্সপ্রেশনকে সমর্থন করে যা দুর্দান্ত।
স্টাডিজিক

1
Forচ্ছিক দ্বিতীয় প্যারামিটারের জন্য আমার পক্ষে কাজ করছেন না।
ডেভওয়ালি

1
লিঙ্কটি ঠিক করুন; এটি 404 পৃষ্ঠার দিকে যায়
ছারভে

3

আপনি যদি ফাংশন আর্গুমেন্টগুলিতে ইনলাইন টাইপ মন্তব্য ব্যবহার করছেন এবং কীভাবে কোনও ফাংশন আর্গুমেন্টটিকে notচ্ছিক হিসাবে চিহ্নিত করতে পারেন তা ভাবছেন, আমি খুঁজে পেয়েছি যে কেবলমাত্র alচ্ছিক আর্গুমেন্টগুলিকে ডিফল্ট মান নির্ধারণের কাজ করেছে। আপনি যদি ডিফল্ট হতে চান তবে undefinedআপনাকে এটি স্পষ্টভাবে পাশাপাশি সেট করতে হবে, অন্যথায় যুক্তিটি alচ্ছিক হিসাবে চিহ্নিত করা হবে না (এমনকি এটি ইতিমধ্যে alচ্ছিক যুক্তি দ্বারা পূর্বে থাকলেও):

function demo(
  /** @type {String} */ mandatory,
  /** @type {Number} */ optional1 = 0,
  /** @type {Number} optional2 = undefined,
)

আপনি যদি আপনার আইডিইতে ঘুরে demoদেখেন তবে আপনার উভয়ই দেখতে হবে optional1এবং optional2এখনই optionচ্ছিক হিসাবে প্রদর্শিত হবে। ভিএসকোডে ?এটি আর্গুমেন্ট নামের (টাইপস্ক্রিপ্ট স্বরলিপি) পরে নির্দেশিত । আপনি যদি অপসারণ = undefinedকরেন তবে optional2আপনি কেবলমাত্র optional1alচ্ছিক যা দেখবেন অবশ্যই বোকামি তাই এখানে পূর্বনির্ধারিত মানটি অবশ্যই উপরের অনুচ্ছেদে বর্ণিত মতো স্পষ্ট হওয়া উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.