본문 바로가기
지속가능티끌/JavaScript

JavaScript. 연산자, 우선순위. Operators.

by i.got.it 2016. 7. 27.


연산자(JavaScript)

 

JavaScript에서는 산술, 논리, 비트 및 할당 연산자 뿐만 아니라 다른 연산자도 사용할 수 있습니다. 설명과 예제는 특정 연산자에 대한 항목을 참조하십시오.


설명

기호

할당 연산

=

복합 할당

OP=(예: += 및 &=)


설명

기호

삭제

delete

typeof

typeof

void

void

instanceof

instanceof

new

new

in

in


==(같음) 및 ===(완전 같음)의 경우 같음 연산자가 같음을 확인하기 전에 서로 다른 형식의 값을 강제 변환한다는 차이점이 있습니다. 예를 들어 문자열 "1"과 숫자 1을 비교하면 두 값이 같은 것으로 비교됩니다. 반면에 완전 같음 연산자의 경우 값을 서로 다른 형식으로 강제 변환하지 않기 때문에 문자열 "1"이 숫자 1과 같은 것으로 비교되지 않습니다.

기본 문자열, 숫자 및 부울은 해당 값으로 비교됩니다. 같은 값을 가진 경우 같은 것입니다. Array, Function, String, Number, Boolean, Error,Date, RegExp 등의 개체는 참조를 사용하여 비교합니다. 이러한 형식의 두 변수가 동일한 값을 갖더라도 완전히 같은 개체를 참조하는 경우에만 같은 것입니다.

예를 들면 다음과 같습니다.

JavaScript
// Two strings with the same value.
var string1 = "Hello";
var string2 = "Hello";

// Two String objects with the same value.
var StringObject1 = new String(string1);
var StringObject2 = new String(string2);

if (string1 == string2)
    document.write("string1 is equal to string2 <br/>");

if (StringObject1 != StringObject2)
    document.write("StringObject1 is not equal to StringObject2 <br/>");

// To compare the values of String objects, use the toString() or valueOf() methods.
if (StringObject1.valueOf() == StringObject2.valueOf())
    document.write("The value of StringObject1 is equal to the value of StringObject2");

//Output:
// string1 is equal to string2 
// StringObject1 is not equal to StringObject2 
// The value of StringObject1 is equal to the value of StringObject2



from MSDN : https://msdn.microsoft.com/ko-kr/library/6hsc0eak(v=vs.94).aspx




연산자 우선 순위(JavaScript)

 

연산자 우선 순위는 식이 계산될 때 연산을 수행하는 순서에 대해 설명합니다. 우선 순위가 높은 연산이 우선 순위가 낮은 연산보다 먼저 수행됩니다. 예를 들어, 곱하기가 더하기보다 먼저 수행됩니다.


다음 표에는 JavaScript 연산자가 높은 우선 순위에서 낮은 우선 순위 순서로 나열되어 있습니다. 우선 순위가 같은 연산자는 왼쪽에서 오른쪽으로 계산됩니다.

operator

설명

. [ ] ( )

필드 액세스, 배열 인덱싱, 함수 호출, 식 묶기

++ -- - ~ ! delete new typeof void

단항 연산자, 데이터 형식 반환, 개체 만들기, undefined 값

* / %

곱하기, 나누기, 나머지 나누기

+ - +

더하기, 빼기, 문자열 연결

<< >> >>>

비트 시프트

< <= > >= instanceof

보다 작음, 작거나 같음, 보다 큼, 크거나 같음, instanceof

== != === !==

같음, 같지 않음, 완전 같음, 완전 같지 않음

&

비트 AND

^

비트 XOR

|

비트 OR

&&

논리적 AND

||

논리적 OR

?:

조건

= OP=

할당, 연산이 포함된 할당(예: += 및 &=)

,

여러 식 계산

연산자 우선 순위에 따라 결정된 계산 순서를 바꾸려면 괄호를 사용합니다. 즉, 괄호 안의 식이 완전히 계산된 후 이 값이 식의 나머지 부분에 사용됩니다.

예를 들면 다음과 같습니다.

JavaScript
var result = 78 * 96 + 3;
document.write(result);
document.write("<br/>");

result = 78 * (9 + 3);
document.write(result);

// Output:
// 7491
// 936

첫 번째 식에는 세 개의 연산자 =, *, +가 있습니다. 연산자 우선 순위 규칙에 따라 *, +, =(78 * 96 = 7488, 7488 + 3 = 7491) 순으로 계산됩니다.

두 번째 식에서는 ( ) 연산자가 가장 먼저 계산되므로 더하기 식이 곱하기 이전에 계산됩니다(9 + 3 = 12, 12 * 78 = 936).

다음 예제에서는 다양한 연산자를 포함하고 true인지 확인하는 문을 보여 줍니다.

JavaScript
var num = 10;

if(5 == num / 2 && (2 + 2 * num).toString() === "22") {
    document.write(true);
}
    // Output:
    // true

연산자는 그룹화의 ( ), *, +(그룹화 내에서), 함수의 ".", 함수의 ( ), /, ==, ===, 및 && 순으로 계산됩니다.




from MSDN : https://msdn.microsoft.com/ko-kr/library/z3ks45k7(v=vs.94).aspx


///847.




댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5