جميع الأدوات
مجاني

مرجع قابل للبحث والطباعة لـ JavaScript الحديثة — البنية والمصفوفات والسلاسل والكائنات وasync/await وDOM وميزات ES2022+. مجاني.

Variables & types

10
let x = 1;
Block-scoped, reassignable variable
const PI = 3.14;
Block-scoped constant binding
typeof value
Returns the type as a string
Number('42')
Convert a string to a number
String(42)
Convert a value to a string
parseInt('42px', 10)
Parse a leading integer (base 10)
Boolean(0)
Coerce a value to true/false
value ?? 'default'
Nullish coalescing (null/undefined only)
a?.b?.c
Optional chaining, short-circuits on null
Array.isArray(x)
Check whether a value is an array

Functions

9
function add(a, b) { return a + b; }
Named function declaration
const add = (a, b) => a + b;
Arrow function with implicit return
const f = (a = 1) => a;
Default parameter value
function f(...args) {}
Rest parameters collect into an array
f(...arr)
Spread an array into arguments
const { a, b } = obj;
Object destructuring
const [x, y] = arr;
Array destructuring
(function(){})()
Immediately-invoked function (IIFE)
fn.bind(this)
Bind a fixed this context

Strings

10
`Hello ${name}`
Template literal interpolation
str.length
Number of characters
str.includes('a')
Check if a substring exists
str.slice(0, 3)
Extract part of a string
str.replace(/a/g, 'b')
Replace matches (regex)
str.split(',')
Split into an array
str.trim()
Remove surrounding whitespace
str.toUpperCase()
Convert to upper case
str.padStart(3, '0')
Pad the start to a length
str.at(-1)
Character at index (supports negatives)

Arrays

11
arr.map(x => x * 2)
Transform each element
arr.filter(x => x > 0)
Keep matching elements
arr.reduce((a, b) => a + b, 0)
Reduce to a single value
arr.find(x => x.id === 1)
First matching element
arr.some(x => x > 0)
True if any element matches
arr.every(x => x > 0)
True if all elements match
arr.includes(3)
Check for a value
arr.sort((a, b) => a - b)
Numeric ascending sort
[...new Set(arr)]
Remove duplicate values
arr.flat(Infinity)
Fully flatten nested arrays
arr.at(-1)
Last element (negative index)

Objects

9
Object.keys(obj)
Array of own enumerable keys
Object.values(obj)
Array of own values
Object.entries(obj)
Array of [key, value] pairs
{ ...a, ...b }
Merge objects (spread)
Object.assign({}, a, b)
Copy/merge into a target
Object.freeze(obj)
Make an object immutable
{ [key]: value }
Computed property name
obj.hasOwnProperty('x')
Check for an own property
structuredClone(obj)
Deep clone an object

Async & promises

9
async function f() {}
Declare an async function
await fetch(url)
Pause until a promise resolves
Promise.all([p1, p2])
Wait for all to resolve
Promise.allSettled([p1, p2])
Wait for all to settle
Promise.race([p1, p2])
Resolve with the first to settle
new Promise((res, rej) => {})
Create a promise manually
try { await f(); } catch (e) {}
Handle async errors
setTimeout(fn, 1000)
Run after a delay (ms)
queueMicrotask(fn)
Schedule a microtask

Control flow

9
if (a) {} else if (b) {} else {}
Conditional branches
a ? b : c
Ternary expression
switch (x) { case 1: break; }
Multi-way branch
for (const x of arr) {}
Iterate values (iterables)
for (const k in obj) {}
Iterate object keys
while (cond) {}
Loop while a condition holds
arr.forEach((x, i) => {})
Run a callback per element
break / continue
Exit or skip a loop iteration
label: for (...) { break label; }
Break out of nested loops

DOM & events

10
document.querySelector('.x')
First matching element
document.querySelectorAll('.x')
All matching elements (NodeList)
el.addEventListener('click', fn)
Attach an event listener
el.classList.toggle('active')
Toggle a CSS class
el.dataset.id
Read a data-id attribute
el.textContent = 'hi'
Set text safely (no HTML)
el.setAttribute('aria-hidden', true)
Set an attribute
e.preventDefault()
Cancel the default action
el.closest('.parent')
Nearest matching ancestor
document.createElement('div')
Create a new element

Classes & modules

9
class A extends B {}
Class with inheritance
constructor() { super(); }
Initialize and call the parent
#private = 1;
Private class field
static create() {}
Static method on the class
get value() {}
Getter accessor
export default fn;
Default module export
export { a, b };
Named module exports
import x, { y } from './m.js'
Default + named imports
const m = await import('./m.js')
Dynamic import

لا يوجد إدخال يطابق “:q”.


حول ورقة JavaScript المرجعية

ورقة الغش هذه لـJavaScript مرجع قابل للبحث في صفحة واحدة للغة الحديثة: المتغيرات والأنواع، الدوال، السلاسل، المصفوفات، الكائنات، غير المتزامن والوعود، تدفق التحكم، DOM والأحداث، والفئات والوحدات. يقرن كل مدخل مقتطف شيفرة حقيقياً بشرح من سطر واحد لما يفعله.

كُتبت لـJavaScript التي يستخدمها الناس فعلياً اليوم — let وconst، الدوال السهمية، التفكيك، النشر، السلسلة الاختيارية، القوالب الحرفية، async/await ووحدات ES — فتعمل أيضاً كمرجع سريع عند العودة إليها من لغة أخرى.

تُحمَّل الورقة بأكملها من جهة العميل وهي مجانية. صفِّها حياً بمربع البحث، انتقل بين الأقسام من جدول المحتويات اللاصق، انقر أي مقتطف لنسخه، واطبع الصفحة كمرجع JavaScript على مكتبك.

كيفية استخدام ورقة JavaScript المرجعية

  1. افتح الورقة وتصفّح قائمة الأقسام — من المتغيرات والأنواع مروراً بـDOM والأحداث إلى الفئات والوحدات.
  2. اكتب في مربع البحث لتصفية كل صف حياً؛ يعرض عداد المطابقات عدد المقتطفات المطابقة.
  3. استخدم جدول المحتويات اللاصق للقفز مباشرة إلى قسم مثل "غير المتزامن والوعود".
  4. انقر على مقتطف، أو أيقونة نسخه، لنسخ الشيفرة إلى حافظتك.
  5. انقر "طباعة" للحصول على نسخة نظيفة مناسبة للورق من المرجع بأكمله.

الأسئلة الشائعة

تسعة أقسام: المتغيرات والأنواع، الدوال، السلاسل، المصفوفات، الكائنات، غير المتزامن والوعود، تدفق التحكم، DOM والأحداث، والفئات والوحدات — كل منها كمقتطفات جاهزة للنسخ مع أوصاف قصيرة.

نعم. تستخدم المقتطفات الصياغة الحالية — let/const، الدوال السهمية، التفكيك، السلسلة الاختيارية، async/await، الفئات ووحدات ES — عاكسةً JavaScript بمعيار ES2022+ بدلاً من الأنماط القديمة.

نعم. النقر على أي مقتطف شيفرة، أو أيقونة النسخ التي تظهر عند تمرير المؤشر على صف، يضعه على حافظتك فوراً مع تأكيد "تم النسخ!" موجز.

نعم. ينتج زر الطباعة تخطيطاً نظيفاً مع إزالة شريط البحث والتنقل والأزرار، فتحتوي الصفحات المطبوعة على المقتطفات وأوصافها فقط.

نعم. إنها مجانية، تُحمَّل بالكامل في متصفحك، ولا تتطلب حساباً.

شارك هذا

عمليات البحث الشائعة
javascript cheat sheet js cheat sheet دوال المصفوفات في javascript دوال النصوص في javascript promises و async await في javascript دوال الكائنات في javascript دوال js dom مرجع صياغة javascript
هل تحتاج إلى مساعدة؟
هل واجهت مشكلة في هذه الأداة؟ أخبر فريقنا.
الإبلاغ عن مشكلة

أضف هذه الأداة المجانية إلى موقعك الخاص — انسخ والصق الكود أدناه.