산술연산자

번역 작업 진행중입니다.

산술 연산자는 숫자 값( literals 또는 변수)을 피연산자의 피연산자로 간주하고 단일 숫자 값을 반환한다.
표준 연산자 연산자(+), 뺄셈(*), 곱셈(*), 나눗셈(*)및 나눗셈(/)

더하기 (+)

덧셈 연산자는 숫자 연산이나 문자열 통합의 합계를 산출한다.

Syntax

Operator: x + y

Example

// Number + Number -> addition
1 + 2 // 3

// Boolean + Number -> addition
true + 1 // 2

// Boolean + Boolean -> addition
false + false // 0

// Number + String -> concatenation
5 + "foo" // "5foo"

// String + Boolean -> concatenation
"foo" + false // "foofalse"

// String + String -> concatenation
"foo" + "bar" // "foobar"

뺄셈 (-)

뺄셈 연산자는 두개의 피연산자를 곱하고 그들의 차이를 만들어 낸다.

Syntax

Operator: x - y

Examples

5 - 3 // 2
3 - 5 // -2
"foo" - 3 // NaN

나눗셈 (/)

분할 연산자는 왼쪽 피연산자가 배당된 피연산자의 몫을 생성하고, 오른쪽 피연산자는 제수이고, 왼쪽 피연산자는 피제수이다.

Syntax

Operator: x / y

Examples

1 / 2      // returns 0.5 in JavaScript
1 / 2      // returns 0 in Java 
// (neither number is explicitly a floating point number)

1.0 / 2.0  // returns 0.5 in both JavaScript and Java

2.0 / 0    // returns Infinity in JavaScript
2.0 / 0.0  // returns Infinity too
2.0 / -0.0 // returns -Infinity in JavaScript

곱셈 (*)

곱셈 연산자는 피연산자의 곱을 생성한다.

Syntax

Operator: x * y

Examples

2 * 2 // 4
-2 * 2 // -4
Infinity * 0 // NaN
Infinity * Infinity // Infinity
"foo" * 2 // NaN

나머지 (%)

나머지 연산자는 하나의 피연산자가 두번째 피연산자로 나누어질 때 남은 남은 부분을 반환한다.
그것은 항상 배당금의 표시가 아니라, 배당금의 표시이다.
그것은 built-in modulo 함수를 사용하여 결과를 생성한다. 예를 들어 — var1 modulo var2 by example for var2 — var1 the.
장래 버전의 ECMAScript 연산자가 있는 것으로 추정된다. 즉, modulo 연산자가 배당금이 아닌 divisor의 사인을 받을 수 있는 차액을 얻을 수 있다.

Syntax

Operator: var1 % var2

Examples

12 % 5 // 2
-1 % 2 // -1
NaN % 2 // NaN
1 % 2 // 1
2 % 3 // 2
-4 % 2 // -0
5.5 % 2 // 1.5

거듭제곱 (**)

This is an experimental technology, part of the ECMAScript 2016 (ES7) proposal.
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future version of browsers as the spec changes.

거듭제곱연산자는 첫번째 피연산자를 두번째 피연산자에 올리는 결과를 반환한다.
즉, 이전의 진술에서 var1와 var2가 변수가 되는 것을 말한다.
거듭제곱 연산자는 올바른 조합입니다. a ** b ** ca ** (b ** c)는 같다고 볼 수 있다.

Syntax

Operator: var1 ** var2

Notes

PHP와 Python그리고 다른 언어를 사용하는 사람들과 같은 언어를 사용하는 대부분의 언어(일반적으로 ^ 또는 **연산자들이 해당된다), 거듭제곱 연산자는 단항 연산자보다 높은 우선 순위를 가지는 것으로 정의된다. 단항+단항과 같은 경우에는 소수 점이 있지만 몇가지 예외가 있습니다.. 예를 들어, Bash 연산자는 단항 연산자보다 하위 우선 순위가 낮다고 정의된다.
자바 스크립트에서는 모호한 모호한 표현을 쓰는 것이 불가능하다., i.e. 단항 연산자를 입력할 수 없습니다. (+/-/~/!/delete/void/typeof) 기수 앞에.

-2 ** 2; 
// 4 in Bash, -4 in other languages. 
// This is invalid in JavaScript, as the operation is ambiguous. 


-(2 ** 2); 
// -4 in JavaScript and the author's intention is unambiguous. 

Examples

2 ** 3 // 8
3 ** 2 // 9
3 ** 2.5 // 15.588457268119896
10 ** -1 // 0.1
NaN ** 2 // NaN

2 ** 3 ** 2 // 512
2 ** (3 ** 2) // 512
(2 ** 3) ** 2 // 64

결과적으로 나타나는 식을 반환하려면 다음을 수행합니다.

-(2 ** 2) // -4

exponentiation 식의 기본 값을 음수로 만들려면 다음을 수행합니다.

(-2) ** 2 // 4

증감연산자 (++)

증감 연산자 ++ 는 피연산자를 증가시키고 값을 반환하고 값을 반환한다.

  • 피연산자가 피연산자(예:X++)를 사용한 후에 연산자를 사용한 경우, X++는 incrementing를 반환하기 전에 값을 반환한다.
  • 피연산자(예:++X)를 피연산자(예:++X)에 사용한 접두사와 함께 사용할 경우 해당 값을 반환합니다.

Syntax

Operator: x++ or ++x

Examples

// Postfix 
var x = 3;
y = x++; // y = 3, x = 4

// Prefix
var a = 2;
b = ++a; // a = 3, b = 3

증감연산자 (--)

증감연산자 -- 는 피연산자의 피연산자(1부터 시작)를 차감하고 값을 반환한다.

  • If used postfix (for example, x--), then it returns the value before decrementing.
  • 예를 들어, 접두사(예:x)를 사용하는 경우, 은 0x decrementing 값을 반환합니다.If used prefix (for example, --x), then it returns the value after decrementing.

Syntax

Operator: x-- or --x

Examples

// Postfix 
var x = 3;
y = x--; // y = 3, x = 2

// Prefix
var a = 2;
b = --a; // a = 1, b = 1

단항 음수 (-)

단항 부정 연산자는 그것의 피연산자보다 앞에 위치하여 음수로 만든다.

Syntax

Operator: -x

Examples

var x = 3;
y = -x; // y = -3, x = 3

단항 양수 (+)

1진 연산자 연산자는 피연산자를 능가하고 피연산자로 계산하지만, 그것을 번호로 변환하려 하지 않으면, 그것을 숫자로 변환한다. 2진법 부정(-)은 또한 부호를 변환할 수 있지만, 1진 부호는 가장 빠르고 선호하는 방법으로 무언가를 변환하는 가장 빠르고 바람직한 방법이다. 왜냐하면 그것은 어떠한 다른 작업도 수행하지 않기 때문이다. 은 정수의 문자열 표현을 변환할 수 있으며, 부동 소수 점 값과 거짓, null및 null을 나타냅니다.소수 점과 16진수 형식("0x"-prefixed")형식이 지원됩니다.
음수 번호가 지원됩니다(육각형이 아님).
특정 값을 구문 분석할 수 없는 경우 NaN을 평가합니다.

Syntax

Operator: +x

Examples

+3     // 3
+"3"   // 3
+true  // 1
+false // 0
+null  // 0
+function(val){  return val } // NaN

명세

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition.
ECMAScript 5.1 (ECMA-262) Standard Defined in several sections of the specification: Additive operators, Multiplicative operators, Postfix expressions, Unary operators.
ECMAScript 2015 (6th Edition, ECMA-262) Standard Defined in several sections of the specification: Additive operators, Multiplicative operators, Postfix expressions, Unary operators.
ECMAScript 2016 (ECMA-262) Standard Added Exponentiation operator.
ECMAScript 2017 Draft (ECMA-262) Draft  

브라우저별 호환성

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Exponentiation operator 52.0 Nightly build ? ? ?
Feature Android Android Webview Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
Exponentiation operator No support 51.0 Nightly build ? ? ? 52.0

See also

문서 태그 및 공헌자

 이 페이지의 공헌자: ChanghwaLee, imskojs
 최종 변경: ChanghwaLee,