String.prototype.includes()‎

من موسوعة حسوب
مراجعة 06:19، 21 ديسمبر 2017 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

الدالة String.prototype.includes()‎ تُحدِّد إن كانت تحتوي سلسلةٌ نصيةٌ على سلسلةٍ نصيةٍ أخرى، وتُعيد القيمة true أو false.

البنية العامة

str.includes(searchString[, position])

searchString

السلسلة النصية التي سيُبحَث عنها ضمن السلسلة النصية الأصلية.

position

قيمة اختيارية، وهي الموضع ضمن السلسلة النصية التي نريد البدء منه في البحث عن السلسلة النصية searchString، القيمة الافتراضية هي 0.

القيمة المعادة

القيمة true إذا عُثِرَ على السلسلة النصية searchString في أيّ مكان ضمن السلسلة النصية الأصلية، وإلا فستُعاد القيمة false.

الوصف

هذه الدالة تسمح لنا بمعرفة إن كانت تحتوي سلسلةٌ نصيةٌ ما على سلسلةٍ نصيةٍ أخرى.

حالة الأحرف

الدالة includes()‎ حساسةٌ لحالة الأحرف، أي أنَّ التعبير البرمجي الآتي سيُعيد القيمة false:

'Blue Whale'.includes('blue'); // false

أمثلة

المثال الآتي يستخدم الدالة includes()‎ للبحث عن سلاسل نصية فرعية:

var str = 'To be, or not to be, that is the question.';

console.log(str.includes('To be'));       // true
console.log(str.includes('question'));    // true
console.log(str.includes('nonexistent')); // false
console.log(str.includes('To be', 1));    // false
console.log(str.includes('TO BE'));       // false

تعويض نقص دعم المتصفحات

أُضيفَت هذه الدالة إلى معيار ECMAScript 2015، وقد لا تتوافر في جميع المتصفحات بعد، لكن يمكنك استخدام الشيفرة الآتية لتعريفها في المتصفحات التي لا تدعمها:

if (!String.prototype.includes) {
  String.prototype.includes = function(search, start) {
    'use strict';
    if (typeof start !== 'number') {
      start = 0;
    }
    
    if (start + search.length > this.length) {
      return false;
    } else {
      return this.indexOf(search, start) !== -1;
    }
  };
}

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 41 40 غير مدعومة نعم 9

على النقيض من متصفح IE، يدعم متصفح Edge هذه الميزة.

مصادر ومواصفات