نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

Array.prototype.includes()‎

الدالة Array.prototype.includes()‎ تُحدِّد إن كانت المصفوفة تحتوي على عنصر معيّن، وتُعيد true أو false. var array1 = [1, 2, 3]; console.log(array1.includes(2)); // true var pets = ['cat', 'dog', 'bat']; console.log(pets.includes('cat')); // true console.log(pets.includes('at')); // false البنية العامة arr.includes(searchElement[, fromIndex]) searchElement العنصر الذي نريد البحث عنه. fromIndex الفهرس الذي نريد البدء منه في البحث عن searchElement، والقيم السالبة ستؤدي إلى بدء البحث من الفهرس array.length + fromIndex تصاعديًا. القيمة الافتراضية هي 0. القيمة المعادة قيمة منطقية (Boolean). أمثلة أمثلة بسيطة عن الدالة includes [1, 2, ...

Object.isFrozen()‎

الدالة Object.isFrozen()‎ تُحدِّد إن كان أحد الكائنات مُجمَّدًا. البنية العامة Object.isFrozen(obj) obj الكائن الذي نريد التحقق منه. القيمة المعادة قيمة منطقية (Boolean) تبيّن إذا كان الكائن مجمَّدًا أم لا. الوصف يكون الكائن مجمدًا إذا لم يكن قابلًا للتوسعة، وكانت جميع خاصياته غير قابلة للضبط (non-configurable)، وكانت جميع خاصيات البيانات (data properties، أي الخاصيات التي ليست دوال getter و setter) غير قابلة للكتابة (non-writable). لاحظ أنَّه في معيار ECMAScript 5 كان استعمال هذه الدالة على وسيطٍ ليس كائنًا (أي قيمةً أوليةً) ...

String.fromCodePoint()‎

الدالة String.fromCodePoint()‎ الساكنة (static) تُعيد سلسلةً نصيةً مُنشَأةً باستخدام سلسلة من قيم المحارف (code points). البنية العامة String.fromCodePoint(num1[, ...[, numN]]) num1, ..., numN سلسلة من الأرقام التي تُمثِّل قيم المحارف (code points). القيمة المعادة سلسلة نصية تحتوي على محارف ترتبط بقيم المحارف المُمرَّرة إلى الدالة. الاستثناءات سيرمى الاستثناء RangeError إذا مُرِّرَ قيمة محرف يونيكود غير صالحة (مثلًا: "RangeError: NaN is not a valid code point"). الوصف هذه الدالة تُعيد سلسلةً نصيةً أوليّةً ولا تُعيد كائن String. لمّا كانت الدالة fromCodePoint هي دالةٌ ...

Array.prototype.fill()‎

الدالة Array.prototype.fill()‎ تملأ جميع عناصر المصفوفة من فهرس البداية حتى فهرس النهاية بقيمة ثابتة. var numbers = [1, 2, 3] numbers.fill(1); // [1, 1, 1] البنية العامة arr.fill(value[, start[, end]]) value القيمة التي نريد ملء المصفوفة بها. start فهرس البداية، وقيمته الافتراضية هي 0. end فهرس النهاية، وقيمته الافتراضية هي this.length. القيمة المعادة المصفوفة المُعدَّلة. الوصف الدالة fill تستطيع أن تقبل ثلاثة وسائط هي value و start و end، الوسيطان start و end هما وسيطان اختياريان يأخذان القيم الافتراضية 0 و length ...

Object.getOwnPropertyDescriptor()‎

الدالة Object.getOwnPropertyDescriptor()‎ تُعيد واصف إحدى الخاصيات التابعة لكائنٍ ما مباشرةً (أي أنها معرَّفة في الكائن نفسه، وليس في سلسلة prototype). البنية العامة Object.getOwnPropertyDescriptor(obj, prop) obj الكائن الذي نريد الحصول على واصف إحدى خاصياته. prop اسم الخاصية التي نريد الحصول على واصفها. القيمة المعادة واصف الخاصية (property descriptor) المعطاة إن كانت موجودةً في الكائن، أو القيمة undefined فيما عدا ذلك. الوصف تسمح لنا هذه الدالة بالحصول على الوصف الدقيق لإحدى خاصيات الكائن؛ وتتألف الخاصيات في JavaScript من سلسلة نصية تُشكِّل اسم ...

Object.getOwnPropertyNames()‎

الدالة Object.getOwnPropertyNames()‎ تُعيد مصفوفةً فيها جميع الخاصيات التابعة مباشرةً للكائن المعطي، بما في ذلك الخاصيات غير القابلة للإحصاء (non-enumerable) لكن باستثناء خاصيات الرموز Symbol. البنية العامة Object.getOwnPropertyNames(obj) obj الكائن الذي نريد الحصول على جميع خاصياته. القيمة المعادة مصفوفة فيها سلاسل نصية لأسماء جميع الخاصيات التابعة مباشرةً للكائن المعطي. الوصف الدالة Object.getOwnPropertyNames()‎ تُعيد مصفوفةً فيها جميع الخاصيات التابعة مباشرةً للكائن obj، وترتيب الخاصيات القابلة للإحصاء متوافقٌ مع الترتيب الذي تُظهِره حلقة التكرار for...in (أو الدالة Object.keys()‎)؛ أما ترتيب الخاصيات غير القابلة ...

Array.prototype.findIndex()‎

الدالة Array.prototype.findIndex()‎ تُعيد فهرس أوّل عنصر في المصفوفة الذي يُطابِق الشرط الموجود في دالة الاختبار؛ وإلا ستُعاد القيمة -1. var array1 = [5, 12, 8, 130, 44]; function findFirstLargeNumber(element) { return element > 13; } console.log(array1.findIndex(findFirstLargeNumber)); // 3 انظر أيضًا إلى صفحة الدالة find()‎ التي تُعيد قيمة العنصر الذي عُثِر عليه في المصفوفة بدلًا من فهرسه؛ أما إذا أردتَ معرفة موضع عنصر مُحدَّد فانظر إلى الدالة indexOf()‎، وإذا شئت تحديد إن كان العنصر موجودًا ضمن المصفوفة فاستعمل الدالة includes()‎. البنية العامة arr.findIndex(callback[, thisArg]) ...

Object.freeze()‎

الدالة Object.freeze()‎ تُجمِّد كائنًا، مما يمنع إضافة خاصيات جديدة إليه، ويمنع حذف الخاصيات الموجودة فيه، ويمنع تعديل قيمة أو قابلية إحصاء أو قابلية ضبط أو قابلية الكتابة التابعة لخاصياته؛ ويمنع أيضًا تعديل سلسلة prototype، وستُعيد هذه الدالة الكائن في الحالة «المُجمَّدة». البنية العامة Object.freeze(obj) obj الكائن الذي سيُجمَّد. القيمة المعادة الكائن المُجمَّد. الوصف لا يمكن إضافة أو حذف أيّ شيء من خاصيات الكائنات المجمّدة؛ وأي محاولة لفعل ذلك ستفشل إما بصمت أو سترمي الاستثناء TypeError (وسيرمى هذا الخطأ عادةً في ...

الدوال في JavaScript

على وجه العموم، الدالة هي «برنامجٌ فرعي» (subprogram) الذي يمكن استدعاؤه من شيفرة خارجية (أو داخلية، في حال أردنا استدعاء الدالة تعاوديًا [recursively])؛ وتحتوي الدالة على سلسلةٍ من التعابير البرمجية التي تسمى «جسم الدالة»، ويمكن تمرير قيم إلى الدالة، وتستطيع الدالة أن تعيد قيمةً ما. تُعدّ الدوال في JavaScript على أنَّها كائنات من الصنف الأول (first-class objects)، لأنها تملك خاصيات ودوال مثل بقية الكائنات، لكن ما يميّزها عن بقية الكائنات هو إمكانية استدعائها، إذ إنَّها كائنات من النوع Function. الوصف ...

Array.from()‎

الدالة Array.from()‎ تُنشِئ مصفوفة جديدة من كائن شبيه بالمصفوفات. البنية العامة Array.from(arrayLike[, mapFn[, thisArg]]) arrayLike الكائن الشبيه بالمصفوفات الذي نريد تحويله إلى مصفوفة. mapFn دالة الربط (map function) التي ستستدعى على كل عنصر من عناصر المصفوفة. thisArg القيمة التي ستستخدم في this عند استدعاء mapFn. القيمة المعادة مصفوفة جديدة. الوصف الدالة Array.from()‎ تسمح بإنشاء مصفوفات من كائنات شبيهة بالمصفوفات (array-like objects)، أي الكائنات التي لها الخاصية length وفيها عناصر مُفهرَسة. تملك الدالة Array.from()‎ وسيطًا اختياريًا باسم mapFn، الذي يسمح بتنفيذ ...

Array.prototype.filter()‎

الدالة Array.prototype.filter()‎ تُنشِئ مصفوفةً جديدةً فيها جميع العناصر التي حققت دالة الاختبار المُمرَّرة إلى هذه الدالة. var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); // ["exuberant", "destruction", "present"] استخدام الدوال السهمية (ES6): const words = ["spray", "limit", "elite", "exuberant", "destruction", "present", "happy"]; let longWords = words.filter(word => word.length > 6); // ["exuberant", "destruction", "present"] البنية العامة var newArray = arr.filter(callback[, thisArg]) callback الدالة التي ستختبر كل عنصر من عناصر المصفوفة وستُعيد true إن أردنا الإبقاء ...

المعاملات الافتراضية للدوال في JavaScript

معاملات الدالة الافتراضية (default function parameters) تسمح بتهيئة معاملات الدالة مع قيم افتراضية إن لم تُمرَّر لها قيمة أثناء استدعاء الدالة أو كانت القيمة المُمرَّرة هي undefined. البنية العامة function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements } الوصف تكون قيمة المعاملات الافتراضية في JavaScript هي undefined، لكن في بعض الحالات يكون من المفيد ضبط قيمة تلك المعاملات إلى قيمةٍ أخرى، وهنا تلعب المعاملات الافتراضية دورها. في الماضي كانت الاستراتيجية العامة المتبعة لضبط قيم افتراضية ...

Object.create()‎

الدالة Object.create()‎ تُنشِئ كائنًا جديدًا له كائن prototype مُحدَّد، وتكون خاصياته معطية. البنية العامة Object.create(proto[, propertiesObject]) proto الكائن الذي يجب أن يُسنَد إلى خاصية prototype للكائن المُنشأ. propertiesObject هذا الوسيط اختياريٌ، وإذا حُدِّدَت قيمته ولم تكن undefined، فهو كائنٌ فيه خاصياتٌ تابعةٌ له وقابلةٌ للإحصاء تُحدِّد واصفات الخاصيات (property descriptors) التي ستُضاف إلى الكائن المُنشَأ والتي سترتبط بأسماء الخاصيات. وهذه الخاصيات تشبه الوسيط الثاني المُمرَّر إلى الدالة Object.defineProperties()‎ (ارجع إلى تلك الصفحة إن وجدتَ الكلام السابق غامضًا). القيمة المعادة كائن ...

Array.prototype.find()‎

الدالة Array.prototype.find()‎ تُعيد قيمة أوّل عنصر في المصفوفة الذي يُطابِق الشرط الموجود في دالة الاختبار؛ وإلا ستُعاد القيمة undefined. function isBigEnough(element) { return element >= 15; } [12, 5, 8, 130, 44].find(isBigEnough); // 130 انظر أيضًا إلى صفحة الدالة findIndex()‎ التي تُعيد فهرس العنصر الذي عُثِر عليه في المصفوفة بدلًا من قيمته؛ أما إذا أردتَ معرفة موضع عنصر مُحدَّد فانظر إلى الدالة indexOf()‎، وإذا شئت تحديد إن كان العنصر موجودًا ضمن المصفوفة فاستعمل الدالة includes()‎. البنية العامة arr.find(callback[, thisArg]) callback الدالة التي ...

مقدمة إلى JSX في React

فلننظر إلى تعريف هذا المتغير: const element = <h1>!أهلًا بالعالم</h1>; إنّ الصّياغة الغريبة السّابقة التي تحتوي على وسم هي ليست سلسلة نصيّة ولا حتى HTML. تُدعى الصّياغة السّابقة JSX وهي عبارة عن امتداد لصياغة JavaScript، نوصي باستخدامها مع React لوصف المظهر الذي ينبغي أن تكون عليه واجهة المستخدم. قد تُذكِّرك JSX بلغات القوالب، ولكنها تمتلك قوة JavaScript الكاملة. تُنتِج JSX عناصر React. سنستعرض إظهار هذه العناصر في DOM في قسم تصيير العناصر (Rendering Elements). سنتحدّث في الفقرات التالية عن أساسيّات JSX ...

JSX في TypeScript

مقدمة JSX بنيةٌ (syntax) مشابهةٌ للغة XML يُمكن تضمينها وتحويلها إلى شيفرة JavaScript صالحة، لكن آلية عملية التحويل تختلف من تطبيق (implementation) إلى آخر. اشتهرت JSX باستخدامها مع مكتبة React، لكنها تملك تطبيقات أخرى غير React. تدعم لغة TypeScript تضمين JSX، وتدقيق الأنواع فيها، وكذا ترجمة JSX إلى JavaScript مباشرةً. ملاحظة حول المصطلحات: نستخدم في هذه الصّفحة كلمة "صِفَة" للإشارة إلى الكلمة الإنجليزيّة "attribute" وكلمة "خاصيّة" للإشارة إلى كلمة "property"، كلاهما يُترجَم إلى كلمة "خاصيّة" ولهما نفس المعنى في معظم ...

نمط Strict

نمط Strict أتى في معيار ECMAScript 5 لإضافة «صرامة» في تطبيق شيفرات JavaScript، لاحظ أنَّ نمط strict لا يُشكِّل قسمًا فرعيًا من JavaScript، وإنما له بنية خاصة به تختلف عن الشيفرات العادية. فالمتصفحات التي لا تدعم نمط strict ستُشغِّل الشيفرات بطريقة مختلفة عن المتصفحات التي تدعمه، لذا لا تعتمد على نمط strict دون اختبار دعمه أولًا من المتصفح. نمط Strict يُضيف عددًا من التغييرات على بنية JavaScript، فلم تعد تسكت JavaScript عن الأخطاء وإنما أصبحت ترمي استثناءات عند حدوثها؛ ونمط ...

الوحدة URL في Node.js

توفر الوحدة url مجموعة من الأدوات لمعالجة وتحليل عناوين الويب (URL). يمكن استيراد الوحدة والبدء باستخدامها عبر تنفيذ: ‎‎const url = require('url'); سلاسل العناوين والكائِن URL سلسلة العنوان (URL String) هي سلسلة نصيّة مُنظمة مؤلَّفة من عدِّة مكوِّنات. يُعاد الكائِن URL، عند تحليل سلسلة العنوان، مقرونًا بخاصيّات تُمثِّل مكوِّنات سلسلة العنوان المُختلفة. توفر الوحدة url واجهتين برمجيّتين للتعامل مع عناوين الويب: واجهة قديمة خاصّة ببيئة Node.js، وأخرى جديدة تُطبِّق معيار WHATWG المُستخدَم في مُتصفحات الويب (سنستخدم عبارة "الواجهة الحديثة" للإشارة ...

المطابقة (Reconciliation) في React

تُزوّدنا React بواجهة برمجة تطبيقات (API) صريحة بحيث لا نقلق بشأن التغييرات التي تطرأ في كل تحديث. يجعل هذا من كتابة التطبيقات أمرًا أسهل بكثير، ولكن قد لا يكون من الواضح كثيرًا كيفيّة تطبيق هذا في React. تشرح هذه الصفحة الخيارات التي وضعناها في خوارزمية المقارنة (diffing) بحيث تكون تحديثات المُكوّنات متوقعة وفي نفس الوقت سريعة كفاية لأجل التطبيقات عالية الأداء. البداية عندما تستخدم React في نقطة زمنية محدّدة بإمكانك التفكير في التابع render()‎ كأنّه يُنشِئ شجرة من عناصر React، ...

الوحدة util‎ في Node.js

صُمِّمَت الوحدة util بشكل أساسي لتلبية احتياجات واجهات Node.js البرمجيّة الداخليّة. هذا لا يمنَع كون الأدوات، التي توفرها الوحدة، مفُيدةً للتطبيقات ولمطوري الوحدات البرمجيّة. يمكنك استيراد الوحدة والبدء باستخدامها عبر تنفيذ: const util = require('util'); util.callbackify(original)‎ أُضيف في الإصدار: v8.2.0. original‎:‏ <Function> دالة async‎ غير متزامنة. القيم المُعادة: <Function> دالةً من نمط دوال رد النداء (callback function). يأخُذ التابِع الدالة async (أو دالة تُعيد كاِئنًا من النوع Promise) ويعيد دالةً تتبع نمط دالة رد النداء «الخطأ أولًا» (error-first callback)، مثل ...

عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).