الانتقال إلى المحتوى الرئيسي

كيفية التحقق مما إذا كان كائن شدتو لديه خاصية مع اسم معين

عند العمل مع الكائنات في جافا سكريبت ، غالبا ما يكون من الضروري التحقق من خصائص معينة لهذه الكائنات. السؤال الذي يطرح نفسه: كيف يمكنني التحقق مما إذا كان كائن شدتو لديه خاصية مع اسم معين?

هناك عدة طرق لحل هذه المشكلة. واحدة من أبسط هو استخدام "في" المشغل. يسمح لك بالتحقق مما إذا كان الكائن يحتوي على الخاصية المحددة. على سبيل المثال ، يمكنك التحقق من خاصية" الاسم " لكائن شدتو على النحو التالي:

إذا ("الاسم" في شدتو) {

// الرمز الذي سيتم تنفيذه إذا كانت خاصية "الاسم" هي

} آخر {

// الرمز الذي سيتم تنفيذه بطريقة أخرى

}

طريقة أخرى للتحقق من وجود خاصية هي استخدام طريقة الكائن "هاسونبروبيرتي". يسمح لك بالتحقق مما إذا كانت الخاصية المحددة هي خاصية الكائن الخاصة ، وليست موروثة من النموذج الأولي. مثال على التحقق من خاصية "الاسم" باستخدام هذه الطريقة:

وهكذا ، للتحقق من وجود خاصية مع اسم معين ، الكائن شدتو لديه عدة طرق ، كل منها سيكون لها خصائصها ومزاياها اعتمادا على الوضع المحدد.

  1. كيفية التحقق من وجود عقار
  2. طرق التحقق من خاصية في كائن
  3. كيفية استخدام المشغل في التحقق من الممتلكات
  4. كيفية استخدام طريقة هاسونبروبيرتي للتحقق من الممتلكات
  5. كيفية استخدام نوع للتحقق من الممتلكات
  6. كيفية استخدام الكائن.مفاتيح للتحقق من الممتلكات
  7. كيفية استخدام الكائن.جيتاونبروبيرتينامس للتحقق من الممتلكات
  8. كيفية استخدام تعكس.يجب التحقق من الممتلكات
  9. كيفية استخدام المحاولة...قبض للتحقق من الممتلكات
  10. سؤال وجواب
  11. كيف يمكنني التحقق مما إذا كان كائن شدتو لديه خاصية?
  12. هل من الممكن للتحقق من وجود خاصية كائن شدتو باستخدام هاسونبروبيرتي () طريقة?
  13. كيف يمكنني التحقق من وجود خاصية كائن شدتو إذا كان يمكن أن تكون موروثة?
  14. كيف يمكنني التحقق مما إذا كان كائن شدتو له خصائص متعددة?
  15. هل هناك أي طرق أخرى للتحقق مما إذا كان كائن شدتو لديه خاصية?

كيفية التحقق من وجود عقار

عند العمل مع الكائنات في جافا سكريبت ، غالبا ما يكون من الضروري التحقق مما إذا كان الكائن يحتوي على خاصية باسم معين. في هذه المقالة ، سننظر في عدة طرق لتنفيذ مثل هذا الفحص.

1. في المشغل

.

كونست شخص = {

الاسم:'جون',

العمر: 30,

المدينة: 'نيويورك'

};

وحدة التحكم.سجل ('اسم' في شخص) ؛ / / صحيح

وحدة التحكم.سجل ('العنوان' شخصيا) ؛ / / خطأ

2. طريقة هاسونبروبيرتي

.

كونست شخص = {

الاسم:'جون',

العمر: 30,

المدينة: 'نيويورك'

};

وحدة التحكم.سجل (شخص.هاسونبروبيرتي ('اسم')) ؛ / / صحيح

وحدة التحكم.سجل (شخص.هاسونبروبيرتي ('عنوان')) ؛ / / خطأ

3. نوع المشغل

. يقوم هذا المشغل بإرجاع سلسلة بنوع قيمة الخاصية.

كونست شخص = {

الاسم:'جون',

العمر: 30,

المدينة: 'نيويورك'

};

وحدة التحكم.سجل (نوع person.name != ='غير محدد') ؛ / / صحيح

وحدة التحكم.سجل (نوعمن شخص.العنوان != ='غير محدد') ؛ / / خطأ

. يعتمد اختيار الطريقة على احتياجاتك وتفضيلاتك.

طرق التحقق من خاصية في كائن

عند العمل مع الكائنات في جافا سكريبت ، قد يكون من الضروري التحقق مما إذا كان الكائن له خاصية معينة. يمكن أن يكون هذا مفيدا للتحقق من توفر البيانات الضرورية قبل استخدامها ، أو لتنفيذ إجراءات معينة ، اعتمادا على توفر العقار.

في جافا سكريبت ، هناك عدة طرق للتحقق من وجود خاصية في كائن:

  • خلاف ذلك.
  • خلاف ذلك.
  • خلاف ذلك.

مع خصائص مختلفة:

الاسمالعمرالبريد الإلكتروني
جون25[email protected]

باستخدام طرق مختلفة:

  1. باستخدام عامل التشغيل " في:

فار اسم الملكية = "الاسم";

إذا (اسم الملكية في المستخدم) {

وحدة التحكم.سجل ("الملكية" + بروبيرتينام + " في كائن المستخدم.");

} آخر {

وحدة التحكم.سجل ("خصائص" + بروبيرتينام + " ليس في كائن المستخدم.");

}

  1. باستخدام طريقة" هاسونبروبيرتي ()":

فار اسم الملكية = "الاسم";

إذا (المستخدم.هاسونبروبيرتي (بروبيرتينام)) {

وحدة التحكم.سجل ("الملكية" + بروبيرتينام + " في كائن المستخدم.");

} آخر {

وحدة التحكم.سجل ("خصائص" + بروبيرتينام + " ليس في كائن المستخدم.");

}

  1. باستخدام المشغل"!= = غير محدد":

فار اسم الملكية = "الاسم";

إذا (المستخدم.اسم الملكية != = غير محدد) {

وحدة التحكم.سجل ("الملكية" + بروبيرتينام + " في كائن المستخدم.");

} آخر {

وحدة التحكم.سجل ("خصائص" + بروبيرتينام + " ليس في كائن المستخدم.");

}

. اعتمادا على نتيجة الاختيار ، يتم عرض رسالة المقابلة.

يعتمد اختيار طريقة محددة للتحقق من وجود خاصية في كائن ما على الموقف وتفضيلات المطور. كل طريقة من الطرق الموصوفة لها خصائصها الخاصة ويمكن أن تكون مفيدة في سيناريوهات مختلفة.

كيفية استخدام المشغل في التحقق من الممتلكات

يسمح لك عامل التشغيل بالتحقق مما إذا كان الكائن يحتوي على خاصية باسم معين. يعود صحيحا إذا كانت الخاصية موجودة ، وكاذبة إذا لم تكن كذلك.

بناء الجملة في المشغل هو كما يلي:

اسم الملكية في الكائن

حيث بروبيرتينام هو اسم الخاصية التي يتم فحصها ، والكائن هو الكائن الذي يتم التحقق من الخاصية.

على سبيل المثال ، للتحقق من خاصية اسم كائن شخص ، يمكنك استخدام التعليمات البرمجية التالية:

فار شخص = {

الاسم:'جون',

العمر: 30

};

إذا ('اسم' في شخص) {

وحدة التحكم.سجل ('كائن الشخص لديه خاصية الاسم');

} آخر {

وحدة التحكم.سجل ('كائن الشخص ليس لديه خاصية اسم');

}

في هذا المثال ، سيتم تأكيد وجود خاصية الاسم ، وسيتم عرض الرسالة 'كائن الشخص لديه خاصية الاسم' في وحدة التحكم.

يمكن أيضا استخدام عامل التشغيل للتحقق مما إذا كانت المصفوفات لها خصائص. على سبيل المثال:

فار آر = [1 ، 2 ، 3];

إذا (0 في آر) {

وحدة التحكم.سجل ('العنصر مع مؤشر 0 في مجموعة أر');

} آخر {

وحدة التحكم.سجل ('العنصر مع مؤشر 0 ليس في مجموعة أر');

}

في هذا المثال ، يتم التحقق من وجود عنصر مع الفهرس 0 في صفيف آر. ونتيجة لذلك ، سيتم عرض الرسالة 'عنصر مع مؤشر 0 في مجموعة أر'.

يسمح لك المشغل الداخلي أيضا بالتحقق من خصائص الكائنات باستخدام المتغيرات:

فار بروبيرتينام = 'اسم';

فار شخص = {

الاسم:'جون',

العمر: 30

};

إذا (اسم الملكية شخصيا) {

وحدة التحكم.سجل ('الملكية' + بروبيرتينام + 'الكائن لديه شخص');

} آخر {

وحدة التحكم.سجل ('الملكية' + بروبيرتينام + 'الكائن الشخص ليس لديه واحد');

}

في هذا المثال ، يتم التحقق من وجود خاصية يتم تخزين اسمها في متغير بروبيرتينام لكائن الشخص. سيتم عرض نتيجة الاختيار في وحدة التحكم.

يمكن أيضا استخدام المشغل في حلقة for...in للتكرار من خلال جميع خصائص كائن:

فار شخص = {

الاسم:'جون',

العمر: 30

};

ل (مفتاح فار في شخص) {

وحدة التحكم.سجل (مفتاح+': '+ شخص [مفتاح]);

}

في هذا المثال ، سيتم إخراج مفاتيح خصائص كائن الشخص إلى وحدة التحكم.

كيفية استخدام طريقة هاسونبروبيرتي للتحقق من الممتلكات

طريقة هاسونبروبيرتي هي طريقة مضمنة لكائنات جافا سكريبت وتستخدم للتحقق مما إذا كان الكائن يحتوي على خاصية باسم معين. ترجع هذه الطريقة قيمة منطقية تشير إلى ما إذا كان الكائن يحتوي على الخاصية المحددة.

هنا هو بناء الجملة لاستخدام طريقة هاسونبروبيرتي:

كائن.هاسون بروبرتي (الملكية)

أين:

  • كائن-الكائن الذي نريد التحقق من وجود خاصية.
  • الخاصية هي سلسلة تمثل اسم الخاصية التي نريد التحقق منها.

فيما يلي مثال على استخدام طريقة هاسونبروبيرتي:

// إنشاء كائن

دع الشخص = {

الاسم:'جون',

العمر: 30

};

// التحقق من خاصية اسم الشخص الكائن

دعونا هاسنام = شخص.هاسونبروبيرتي ('اسم');

وحدة التحكم.سجل (هاسنام) ؛ / / صحيح

// التحقق من وجود خاصية الجنس في الشخص

كائن السماح هاسجيندر = شخص.هاسونبروبيرتي ('الجنس');

وحدة التحكم.سجل (هاسجيندر) ؛ / / خطأ

يوضح المثال أن كائن الشخص يحتوي على خاصية الاسم ، وبالتالي فإن طريقة هاسونبروبيرتي لخاصية الاسم ترجع صحيح. ومع ذلك ، فإن كائن الشخص ليس لديه خاصية الجنس ، وبالتالي فإن طريقة هاسونبروبيرتي لخاصية الجنس ترجع كاذبة.

استخدام طريقة هاسونبروبيرتي مفيد بشكل خاص عند عبور خصائص الكائن في حلقة أو عند التحقق من خصائص محددة قبل استخدامها.

كيفية استخدام نوع للتحقق من الممتلكات

طريقة واحدة للتحقق مما إذا كان كائن لديه خاصية مع اسم معين في جافا سكريبت هو استخدام عامل تيبوف. يسمح لك بتحديد نوع القيمة المخزنة في الخاصية ، وإذا كانت الخاصية مفقودة ، فقم بإرجاع القيمة "غير محددة".

يمكنك استخدام التعليمات البرمجية التالية للتحقق من وجود خاصية:

  1. حدد الكائن الذي تريد التحقق من الخاصية.
  2. استخدم نوع المشغل مع اسم الخاصية للتحقق من وجوده.
  3. معالجة نتيجة النوعمن العملية وتنفيذ الإجراءات اللازمة اعتمادا على القيمة المستلمة.

مثال على الكود:

كونست أوبج = {الدعامة: "القيمة"};

إذا (نوع الكائن.دعم !== "غير محدد") {

وحدة التحكم.سجل ("خاصية الدعامة موجودة");

} آخر {

وحدة التحكم.سجل ("خاصية الدعامة غير موجودة");

}

في هذا المثال ، نتحقق من خاصية" الدعامة "لكائن" أوبج". في حالة وجود الخاصية ، يتم عرض الرسالة "خاصية الدعامة موجودة" ، وإلا يتم عرض الرسالة "خاصية الدعامة غير موجودة".

يمكن أيضا استخدام عامل تشغيل النوع للتحقق من صحة أنواع البيانات الأخرى مثل "الرقم" و "السلسلة" و "المنطقية" وما إلى ذلك. يساعد على تحديد نوع قيمة المتغير أو الخاصية وإجراء المعالجة المناسبة.

ومع ذلك ، تجدر الإشارة إلى أن النوعمن المشغل لديه بعض الميزات والقيود. على سبيل المثال ، لا يمكن التمييز بين الكائنات والمصفوفات ، حيث يتم إرجاع كلا النوعين من البيانات كـ "كائن". كما أنه لا يمكن تحديد ما إذا كانت الخاصية موروثة أو خاصة بها للكائن.

بشكل عام ، يمكن أن يكون استخدام نوعمن المشغل للتحقق من الخصائص تقنية مفيدة وبسيطة ، ولكن عند العمل مع هياكل بيانات أكثر تعقيدا ، قد تحتاج إلى استخدام طرق وأدوات أخرى للتحقق من الخصائص.

كيفية استخدام الكائن.مفاتيح للتحقق من الممتلكات

كائن.المفاتيح هي طريقة ثابتة لكائن جافا سكريبت مضمن يسمح لك بالحصول على مصفوفة من خصائص الكائن المعدودة الخاصة بك.

للتحقق مما إذا كان الكائن يحتوي على خاصية باسم معين ، يمكنك استخدام الكائن.طريقة المفاتيح. يمكنك استخدامه للحصول على مصفوفة من أسماء خصائص الكائنات والتحقق من الاسم المحدد في هذه المصفوفة.

مثال على استخدام طريقة الكائن.مفاتيح:

"'جافا سكريبت

كونست إكس دي تو = { الاسم: "جون" ، العمر: 30 ، المدينة :" نيويورك"};

اسم الملكية = "المدينة";

إذا (كائن.مفاتيح (شدتو).يشمل (اسم الملكية)) {

وحدة التحكم.سجل ('الملكية' found{اسم الملكية} ' وجدت!`);

} آخر {

وحدة التحكم.سجل ('الملكية' {{اسم الملكية} ' لم يتم العثور!`);

}

«`

في هذا المثال ، نقوم بإنشاء كائن شدتو وتعيين مجموعة من الخصائص لذلك. يحتوي متغير بروبيرتينام على اسم الخاصية التي نريد التحقق منها.

ثم نستخدم طريقة الكائن.مفاتيح للحصول على مجموعة من أسماء الخصائص للكائن شدتو. يتضمن طريقة التحقق من وجود اسم الخاصية المحدد في المصفوفة. في حالة وجود اسم الخاصية ، يتم عرض رسالة تشير إلى وجودها. خلاف ذلك ، يتم عرض رسالة حول غيابه.

يتيح لك هذا الأسلوب التحقق بشكل فعال من وجود خاصية باسم محدد لكائن باستخدام الكائن.طريقة المفاتيح.

كيفية استخدام الكائن.جيتاونبروبيرتينامس للتحقق من الممتلكات

.

إرجاع مصفوفة من جميع خصائص الكائن الخاصة (بما في ذلك الخصائص غير القابلة للعد) كسلاسل. تتيح لك هذه الطريقة الحصول على قائمة بجميع خصائص كائن ما ثم التحقق مما إذا كانت هناك خاصية تحمل اسما محددا فيما بينها.

للتحقق من الممتلكات:

كائن كونست = {

الدعامة 1: "القيمة 1",

الدعامة 2: "القيمة 2",

الدعامة 3:"القيمة 3"

};

كونست بروبيرتينام = "بروب2";

كونست بروبرتيكسيستس = كائن.جيتاونبروبرتيناميس (كائن).يشمل (اسم الملكية);

إذا (الملكية موجودة) {

وحدة التحكم.سجل ('الخاصية {{اسم الملكية} موجود');

} آخر {

وحدة التحكم.سجل ('الخاصية {{اسم الملكية} غير موجودة');

}

.

في حالة وجود الخاصية ، يتم عرض الرسالة "الملكية بروب2 موجود" ، وإلا يتم عرض الرسالة "الملكية بروب2 غير موجود".

يسمح لك ليس فقط بالتحقق من وجود خاصية ، ولكن أيضا للحصول على قائمة بجميع خصائص الكائن. يمكن أن يكون هذا مفيدا عند معالجة كائن آخر أو عند تصحيح أخطاء أحد البرامج.

كيفية استخدام تعكس.يجب التحقق من الممتلكات

تعكس.لديها طريقة تسمح لك للتحقق ما إذا كان كائن يحتوي على خاصية معينة مع اسم معين. تقوم بإرجاع قيمة منطقية من صحيح إذا كانت الخاصية موجودة ، وكاذبة إذا كانت الخاصية مفقودة.

يبدو بناء جملة الطريقة كما يلي:

تعكس.لديه (الهدف ، مفتاح الملكية)
  • الهدف-كائن يحتاج إلى التحقق من وجود خاصية.
  • بروبيرتيكي هو سلسلة أو حرف يمثل اسم الخاصية.

مثال على استخدام تعكس.لديها:

كونست شخص = {

الاسم: 'جون',

العمر: 30

};

وحدة التحكم.سجل (تعكس.لديه (شخص ، 'اسم')) ؛ / / صحيح

وحدة التحكم.سجل (تعكس.لديه (شخص ، 'مدينة')) ؛ / / خطأ

في المثال أعلاه ، تعكس.لديه طريقة الشيكات لوجود خاصية ' اسم ' الكائن الشخص. المكالمة الأولى ترجع صحيح لأن الخاصية ' اسم ' موجود. المكالمة الثانية ترجع كاذبة ، لأنه لا يوجد خاصية' المدينة ' في كائن الشخص.

طريقة الانعكاس.ويمكن أيضا أن تستخدم لاختبار خصائص النموذج الأولي. سيعود صحيحا إذا تم العثور على الخاصية في الكائن نفسه وفي نموذجه الأولي.

إذا كنت بحاجة إلى التحقق من وجود خاصية والحصول على قيمتها ، فيمكنك استخدام طريقة الانعكاس.الحصول على:

كونست شخص = {

الاسم:'جون',

العمر: 30

};

إذا (تعكس.لديه (شخص ، 'اسم')) {

قيمة كونست = تعكس.الحصول على (شخص ، 'اسم');

وحدة التحكم.سجل (القيمة) ؛ / / 'جون'

}

في هذا المثال ، نتحقق أولا من خاصية 'الاسم'. ثم ، إذا تم العثور على الخاصية ، فإننا نستخدم طريقة الانعكاس.الحصول على الحصول على قيمتها وإخراجها إلى وحدة التحكم.

باستخدام طريقة تعكس.يمكن أن يكون التحقق من الخاصية مفيدا في مواقف مختلفة ، على سبيل المثال ، عند معالجة البيانات ديناميكيا أو عند التحقق من وجود خصائص معينة قبل تنفيذ إجراء معين.

كيفية استخدام المحاولة...قبض للتحقق من الممتلكات

حاول...الصيد هو آلية معالجة الأخطاء في جافا سكريبت التي تسمح لك للقبض والتعامل مع الاستثناءات.

عندما نريد التحقق مما إذا كان الكائن يحتوي على خاصية باسم معين ، يمكننا استخدام المحاولة...هيكل الصيد. تسمح لنا هذه الآلية بتنفيذ رمز معين ، وإذا حدث خطأ أثناء تنفيذ هذا الرمز ، فيمكننا التعامل معه وتنفيذ إجراءات بديلة.

في سياق سؤالنا ، قد يكون هناك موقف لا نعرف فيه ما إذا كان كائن شدتو له خاصية باسم محدد. باستخدام المحاولة...قبض ، يمكننا التحقق من هذه الخاصية وتنفيذ الإجراءات اللازمة اعتمادا على النتيجة.

مثال على الكود:

محاولة{

إذا (شدتو.هاسونبروبيرتي ('اسم الملكية')) {

// الرمز الذي سيتم تنفيذه في حالة وجود الخاصية

} آخر{

// الرمز الذي سيتم تنفيذه إذا لم يكن العقار

حاضر }

} الصيد (ه) {

// الكود الذي سيتم تنفيذه في حالة حدوث خطأ في كتلة المحاولة

}

في هذا المثال ، نستخدم طريقة هاسونبروبيرتي للتحقق مما إذا كان الكائن زدتو له خاصية تسمى 'بروبيرتينام'. إذا كان هناك خاصية ، ثم يتم تنفيذ التعليمات البرمجية داخل الكتلة الأولى ، وإلا يتم تنفيذ التعليمات البرمجية داخل الكتلة الثانية. في حالة حدوث خطأ في كتلة المحاولة ، سيتم تنفيذ التعليمات البرمجية داخل كتلة الصيد.

باستخدام المحاولة...قبض ، يمكننا التحقق من وجود أو عدم وجود خاصية في كائن وتنفيذ الإجراءات اللازمة اعتمادا على ذلك. هذا يسمح لنا بالتحقق بسهولة من الخصائص والتعامل مع الأخطاء المحتملة.

سؤال وجواب

كيف يمكنني التحقق مما إذا كان كائن شدتو لديه خاصية?

للتحقق ما إذا كان كائن شدتو لديه خاصية ، يمكنك استخدام المشغل في. على سبيل المثال ، يمكنك استخدام التعليمات البرمجية التالية: إذا ("بروبيرتينام" في شدتو) {//رمز إذا كانت الخاصية موجودة }

هل من الممكن للتحقق من وجود خاصية على كائن شدتو باستخدام هاسونبروبيرتي () طريقة?

نعم ، هذا ممكن. طريقة هاسونبروبيرتي () يسمح لك للتحقق ما إذا كانت الخاصية المحددة هي خاصية أصلية للكائن شدتو. مثال الاستخدام: إذا (شدتو.هاسونبروبيرتي ("بروبيرتينام")) {//رمز إذا كانت الخاصية موجودة }

كيف يمكنني التحقق مما إذا كان كائن شدتو لديه خاصية إذا كان يمكن أن تكون موروثة?

للتحقق من وجود خاصية ، بما في ذلك الخصائص الموروثة ، يمكنك استخدام الكائن.النموذج الأولي.طريقة هاسونبروبيرتي () بدلا من هاسونبروبيرتي () لكائن معين. مثال: إذا (كائن.النموذج الأولي.هاسونالممتلكات.استدعاء (شدتو، "بروبيرتينام")) {//رمز إذا كانت الخاصية موجودة }

كيف يمكنني التحقق مما إذا كان كائن شدتو له خصائص متعددة?

للتحقق من وجود خصائص متعددة ، يمكنك استخدام متعددة في العبارات أو طريقة هاسونبروبيرتي () في نفس الوقت. على سبيل المثال: إذا ("بروبيرتي 1" في شدتو & & "بروبيرتي 2" في شدتو) {//رمز إذا كانت الخصائص موجودة }

هل هناك أي طرق أخرى للتحقق مما إذا كان كائن شدتو لديه خاصية?

نعم ، بالإضافة إلى المشغل في وطريقة هاسونبروبيرتي () ، يمكنك أيضا استخدام الكائن.طريقة المفاتيح () ، والتي ترجع مصفوفة من جميع الخصائص التي تم تعدادها للكائن. مثال: إذا (كائن.مفاتيح (شدتو).يتضمن ("اسم الملكية")) {//رمز إذا كانت الخاصية موجودة }