--- title: Expressions and operators slug: Web/JavaScript/Reference/Operators tags: - بازبینی - جاوااسکریپت - عملوند - منابع translation_of: Web/JavaScript/Reference/Operators ---
{{jsSidebar("Operators")}}
این بخش از سند شامل تمامی عمل ها و عبارت و کلمات کلیدی بکار رفته در زبان برنامه نویسی جاوااسکریپت می باشد.

دسته بندی عبارت و عمل ها

لیست زیر براساس الفابت انگلیسی مرتب شده است

عبارات اصلی

عبارت عمومی و کلمات کلیدی اصلی در جاوا اسکریپت.

{{jsxref("Operators/this", "this")}}
کلمه کلیدی this به محتوایی در درون تابعی که در آن نوشته شده است اشاره می کند.
{{jsxref("Operators/function", "function")}}
کلمه کلیدی function  ٫ تعریف کننده یک تابع است.
{{jsxref("Operators/class", "class")}}
کلمه کلیدی class  ٫ تعریف کننده یک کلاس است.
{{jsxref("Operators/function*", "function*")}}
کلمه کلیدی function*  تعریف کننده یک سازنده کلاس است.
{{jsxref("Operators/yield", "yield")}}
مکث و از سرگیری می کند تابعی که تولید شده است.
{{jsxref("Operators/yield*", "yield*")}}
محول می کند به تابع یا آبجکت تولید شده دیگر.
{{experimental_inline}} {{jsxref("Operators/async_function", "async function*")}}
async function  یک تابع async تعریف می کند
{{experimental_inline}} {{jsxref("Operators/await", "await")}}
مکث و از سرگیری می کند و تابع اسینک (async ) و منتظر اجازه  برای تایید را رد می ماند
{{jsxref("Global_Objects/Array", "[]")}}
تعریف کننده /سازنده یک آرایه .
{{jsxref("Operators/Object_initializer", "{}")}}
تعریف کننده / سازنده یک آبجکت ( شئی) .
{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
یک ترکیب صحیح از عبارتها
{{jsxref("Operators/Grouping", "( )")}}
دسته بندی عمل ها

عبارت های سمت چپ

مقدارهای سمت چپ مشخص کردن  هدف هستند 

{{jsxref("Operators/Property_accessors", "Property accessors", "", 1)}}
عمل های شامل درستی به یک ویژگی یا متد از یک آبجکت(شئی) از قبل تعریف شده
(object.property  و object["property"]).
{{jsxref("Operators/new", "new")}}
عمل new  یک سازنده از الگو یا موجودیت از قبل تعریف شده مثل آبجکت 
new.target
In constructors, new.target refers to the constructor that was invoked by {{jsxref("Operators/new", "new")}}.
{{jsxref("Operators/super", "super")}}
کلیدواژه super  والد سازنده را صدا می زند
{{jsxref("Operators/Spread_operator", "...obj")}}
The spread operator allows an expression to be expanded in places where multiple arguments (for function calls) or multiple elements (for array literals) are expected.

افزایش و کاهش

عملوند  پیشوندی/ پسوندی افزایشی و  عملوند پیشوندی/پسوندی کاهشی

{{jsxref("Operators/Arithmetic_Operators", "A++", "#Increment")}}
عملوند پسوندی افزایشی.
{{jsxref("Operators/Arithmetic_Operators", "A--", "#Decrement")}}
عملوند پسوندی کاهشی.
{{jsxref("Operators/Arithmetic_Operators", "++A", "#Increment")}}
عملوند پیشوندی افزایشی.
{{jsxref("Operators/Arithmetic_Operators", "--A", "#Decrement")}}
عملوند پیشوند کاهشی

عملوند های یکتا

A unary operation is operation with only one operand.

{{jsxref("Operators/delete", "delete")}}
عملوند delete  ویژگی /ها را از یک آبجکت حذف می کند.
{{jsxref("Operators/void", "void")}}
در عمل کننده void مقداری برای بازگشت از یک عبارت وجود ندارد.
{{jsxref("Operators/typeof", "typeof")}}
typeof  نوع آبجکت (شئی )دریافتی را مشخص می کند.
{{jsxref("Operators/Arithmetic_Operators", "+", "#Unary_plus")}}
The unary plus operator converts its operand to Number type.
{{jsxref("Operators/Arithmetic_Operators", "-", "#Unary_negation")}}
The unary negation operator converts its operand to Number type and then negates it.
{{jsxref("Operators/Bitwise_Operators", "~", "#Bitwise_NOT")}}
Bitwise NOT operator.
{{jsxref("Operators/Logical_Operators", "!", "#Logical_NOT")}}
Logical NOT operator.

عملوند های منطقی

عملوندهای منطقی روی مقدار عددی اعمال می شوند و یک عدد به عنوان نتیجه منطقی  عملوند منطقی خواهد بود

{{jsxref("Operators/Arithmetic_Operators", "+", "#Addition")}}
عمل جمع.
{{jsxref("Operators/Arithmetic_Operators", "-", "#Subtraction")}}
عمل تفریق/منها
{{jsxref("Operators/Arithmetic_Operators", "/", "#Division")}}
عمل تقسیم
{{jsxref("Operators/Arithmetic_Operators", "*", "#Multiplication")}}
عمل ضرب
{{jsxref("Operators/Arithmetic_Operators", "%", "#Remainder")}}
عمل تقسیم / خروجی باقیماند تقسیم
{{jsxref("Operators/Arithmetic_Operators", "**", "#Exponentiation")}}
عمل توان

Relational operators

A comparison operator compares its operands and returns a Boolean value based on whether the comparison is true.

{{jsxref("Operators/in", "in")}}
The in operator determines whether an object has a given property.
{{jsxref("Operators/instanceof", "instanceof")}}
The instanceof operator determines whether an object is an instance of another object.
{{jsxref("Operators/Comparison_Operators", "<", "#Less_than_operator")}}
Less than operator.
{{jsxref("Operators/Comparison_Operators", ">", "#Greater_than_operator")}}
Greater than operator.
{{jsxref("Operators/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
Less than or equal operator.
{{jsxref("Operators/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
Greater than or equal operator.

Note: => is not an operator, but the notation for Arrow functions.

Equality operators

The result of evaluating an equality operator is always of type Boolean based on whether the comparison is true.

{{jsxref("Operators/Comparison_Operators", "==", "#Equality")}}
Equality operator.
{{jsxref("Operators/Comparison_Operators", "!=", "#Inequality")}}
Inequality operator.
{{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}
Identity operator.
{{jsxref("Operators/Comparison_Operators", "!==", "#Nonidentity")}}
Nonidentity operator.

Bitwise shift operators

Operations to shift all bits of the operand.

{{jsxref("Operators/Bitwise_Operators", "<<", "#Left_shift")}}
Bitwise left shift operator.
{{jsxref("Operators/Bitwise_Operators", ">>", "#Right_shift")}}
Bitwise right shift operator.
{{jsxref("Operators/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
Bitwise unsigned right shift operator.

Binary bitwise operators

Bitwise operators treat their operands as a set of 32 bits (zeros and ones) and return standard JavaScript numerical values.

{{jsxref("Operators/Bitwise_Operators", "&", "#Bitwise_AND")}}
Bitwise AND.
{{jsxref("Operators/Bitwise_Operators", "|", "#Bitwise_OR")}}
Bitwise OR.
{{jsxref("Operators/Bitwise_Operators", "^", "#Bitwise_XOR")}}
Bitwise XOR.

Binary logical operators

Logical operators are typically used with boolean (logical) values, and when they are, they return a boolean value.

{{jsxref("Operators/Logical_Operators", "&&", "#Logical_AND")}}
Logical AND.
{{jsxref("Operators/Logical_Operators", "||", "#Logical_OR")}}
Logical OR.

Conditional (ternary) operator

{{jsxref("Operators/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}

The conditional operator returns one of two values based on the logical value of the condition.

Assignment operators

An assignment operator assigns a value to its left operand based on the value of its right operand.

{{jsxref("Operators/Assignment_Operators", "=", "#Assignment")}}
Assignment operator.
{{jsxref("Operators/Assignment_Operators", "*=", "#Multiplication_assignment")}}
Multiplication assignment.
{{jsxref("Operators/Assignment_Operators", "/=", "#Division_assignment")}}
Division assignment.
{{jsxref("Operators/Assignment_Operators", "%=", "#Remainder_assignment")}}
Remainder assignment.
{{jsxref("Operators/Assignment_Operators", "+=", "#Addition_assignment")}}
Addition assignment.
{{jsxref("Operators/Assignment_Operators", "-=", "#Subtraction_assignment")}}
Subtraction assignment
{{jsxref("Operators/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
Left shift assignment.
{{jsxref("Operators/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
Right shift assignment.
{{jsxref("Operators/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
Unsigned right shift assignment.
{{jsxref("Operators/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
Bitwise AND assignment.
{{jsxref("Operators/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
Bitwise XOR assignment.
{{jsxref("Operators/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
Bitwise OR assignment.
{{jsxref("Operators/Destructuring_assignment", "[a, b] = [1, 2]")}}
{{jsxref("Operators/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}

Destructuring assignment allows you to assign the properties of an array or object to variables using syntax that looks similar to array or object literals.

Comma operator

{{jsxref("Operators/Comma_Operator", ",")}}
The comma operator allows multiple expressions to be evaluated in a single statement and returns the result of the last expression.

Non-standard features

{{non-standard_inline}} {{jsxref("Operators/Legacy_generator_function", "Legacy generator function", "", 1)}}
The function keyword can be used to define a legacy generator function inside an expression. To make the function a legacy generator, the function body should contains at least one {{jsxref("Operators/yield", "yield")}} expression.
{{non-standard_inline}} {{jsxref("Operators/Expression_closures", "Expression closures", "", 1)}}
The expression closure syntax is a shorthand for writing simple function.
{{non-standard_inline}} {{jsxref("Operators/Array_comprehensions", "[for (x of y) x]")}}
Array comprehensions.
{{non-standard_inline}} {{jsxref("Operators/Generator_comprehensions", "(for (x of y) y)")}}
Generator comprehensions.

Specifications

Specification Status Comment
{{SpecName('ES1', '#sec-11', 'Expressions')}} {{Spec2('ES1')}} Initial definition
{{SpecName('ES5.1', '#sec-11', 'Expressions')}} {{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}} {{Spec2('ES6')}} New: Spread operator, destructuring assignment, super keyword.
{{SpecName('ESDraft', '#sec-ecmascript-language-expressions', 'ECMAScript Language: Expressions')}} {{Spec2('ESDraft')}}

See also