1. 단항 연산자
1. 자동 증가 및 감소 연산자: 사전 위치 지정 유형과 사후 위치 지정 유형으로 구분됩니다.
전면 유형: a;--a;
게시물 유형: a ;a--;
예:
여기서 a=i는 a=i;i=i 1;
과 같습니다.
그리고 b= j는 j=j 1;b=j;
2. 단항 덧셈 및 뺄셈 연산자: a= i;a=-i;
정수의 경우 1달러를 빼는 것은 음수를 취하는 것과 같습니다.
2. 비트 연산자
1. 비트별 NOT~ (NOT)
아니요. 즉, 모든 숫자를 이진 형식으로 반전합니다.
일반적인 사용법: 비트 연산 NOT은 기본적으로 숫자를 부정한 다음 1을 빼는 것입니다
2. 비트 OR(OR)
즉, 모든 숫자와 대상 숫자를 이진 형식으로 비트 OR 연산을 수행합니다.
일반적인 사용법: 일반적으로 이진수를 무조건적으로 할당하는 데 사용됩니다. 예를 들어, 숫자 |1은 현재 숫자에 가장 가까운 홀수를 얻는 것과 같습니다.
3. 비트 AND(AND)
그리고 즉, 모든 숫자와 대상 숫자를 이진 형식으로 비트 AND 연산을 수행합니다.
일반적인 사용법: 일반적으로 이진 비트 가져오기 작업에 사용됩니다. 예: 숫자 &1, 결과가 0이면 짝수, 1이면 홀수입니다.
4. 비트별 XOR^(XOR)
XOR, 즉 모든 숫자를 대상 숫자와 이진 형식으로 비교합니다. 두 숫자만 다른 경우, 즉 한 자리만 1을 저장하면 두 숫자가 같을 경우 0이 반환됩니다.
반환됩니다.일반적인 사용법: xor 연산의 역연산은 그 자체입니다. 즉, 동일한 숫자를 두 번 XOR한 최종 결과는 변경되지 않습니다. 간단한 암호화 또는 대화형 숫자 연산에 사용할 수 있습니다.
5. 왼쪽으로 이동
왼쪽으로 이동, 즉 모든 숫자를 이진 형식의 해당 자릿수만큼 왼쪽으로 이동하고, 높은 비트를 밖으로 이동(폐기)하고, 낮은 비트의 빈 비트를 0으로 채웁니다. 왼쪽 이동은 부호 비트에 영향을 주지 않습니다.
수학적 의미: 숫자가 넘치지 않는 한, 양수와 음수의 경우 한 자리 왼쪽으로 이동하는 것은 2의 1승을 곱하는 것과 같고, n 비트를 왼쪽으로 이동하는 것은 다음과 같습니다. 2의 n승을 곱합니다.
6. 오른쪽으로 이동
6.1 부호 있는 오른쪽 시프트>>: 이진수 형식에서 모든 값을 오른쪽으로 이동하지만 부호 비트는 유지합니다.
수학적 의미: 숫자가 넘치지 않는 한 양수와 음수의 경우 오른쪽으로 한 자리 이동하는 것은 2의 1승으로 나누는 것과 같고, 오른쪽으로 n 비트만큼 이동하는 것은 다음과 같습니다. 2의 n승으로 나눕니다.
6.2 부호 없는 오른쪽 시프트>>>: 즉, 부호 비트를 포함한 모든 값을 이진 형식으로 오른쪽으로 이동합니다.
양수의 경우 >> 및 >>의 결과는 동일합니다.
음수의 경우 음수는 절대값의 보수 형태로 표현되기 때문에 부호 없는 오른쪽 이동 결과가 매우 커집니다.
3. 부울 연산자
1. 논리적 부정!
논리는 쓸모가 없습니다! ECMAScript의 모든 유형의 값에 적용될 수 있음을 나타냅니다. 논리적 NOT 연산은 부울 값(true/false)을 반환합니다. 이 연산자는 먼저 피연산자를 부울 값으로 변환한 다음 이를 부정합니다.
! ! Boolean() 함수와 동일합니다.
Boolean() 변환 함수에 대한 규칙 집합입니다.
데이터 유형 참값으로 변환 거짓값으로 변환
부울 참 거짓
문자열 비어 있지 않은 임의의 문자열 ""(빈 문자열)
숫자 0이 아닌 숫자 값(무한대 포함) 0 및 NaN
모든 개체 null 개체
정의되지 않음 없음 정의되지 않음
2. 논리 AND&&
논리적 AND에는 두 개의 피연산자가 있습니다.
논리 AND 연산은 부울 값뿐만 아니라 모든 유형의 피연산자에 적용될 수 있습니다. 피연산자 중 하나가 부울 값이 아닌 경우 논리 AND 연산은 반드시 부울 값을 반환하지 않으며 다음 규칙을 따릅니다.
1. 첫 번째 피연산자가 객체인 경우 두 번째 피연산자를 반환합니다.
2. 두 번째 피연산자가 객체인 경우 첫 번째 피연산자의 평가 결과가 true인 경우에만 객체가 반환됩니다.
3. 두 연산자가 모두 객체인 경우 두 번째 피연산자를 반환하고 첫 번째 규칙을 따릅니다.
4. 피연산자 중 하나가 null이면 null을 반환합니다.
5. 피연산자 중 하나가 NaN이면 NaN을 반환합니다.
6. 피연산자 중 하나가 정의되지 않은 경우 정의되지 않은 값을 반환합니다.
논리적 AND 연산은 단락 연산입니다. 즉, 첫 번째 피연산자가 결과를 결정할 수 있으면 두 번째 피연산자는 평가되지 않습니다. (두 개의 내부 반환 작업으로 이해될 수 있습니다.) 따라서 규칙 4, 5, 6이 충돌하는 경우 단락 작동 원리를 따라야 합니다.
3. 논리 OR||
논리 OR에는 두 개의 피연산자가 있습니다.
논리적 OR은 부울 값뿐만 아니라 모든 유형의 피연산자에 연산을 적용할 수 있다는 점에서 논리 AND와 유사합니다. 피연산자 중 하나가 부울 값이 아닌 경우 논리 OR 연산은 반드시 부울 값을 반환하지 않으며 다음 규칙을 따릅니다.
1. 첫 번째 피연산자가 객체인 경우 첫 번째 피연산자를 반환합니다.
2. 첫 번째 피연산자의 결과가 거짓이면 두 번째 피연산자를 반환합니다.
3. 두 연산자가 모두 객체인 경우 첫 번째 규칙에 따라 첫 번째 피연산자가 반환됩니다.
4. 두 피연산자가 모두 null이면 null을 반환합니다.
5. 두 피연산자가 모두 NaN이면 NaN을 반환합니다.
6. 두 피연산자가 모두 정의되지 않은 경우 정의되지 않은 값을 반환합니다.
논리 OR 연산은 단락 연산입니다. 즉, 첫 번째 피연산자의 결과가 true이면 두 번째 피연산자는 다시 평가되지 않습니다.
이 논리 OR 기능을 사용하면 변수에 null 또는 정의되지 않은 값을 할당하는 것을 방지할 수 있습니다
예: var myObject=firstObject||secondObject
firstObject가 null이 아니면 firstObject가 myObject에 할당되고, 그렇지 않으면 secondObject의 값이 myObject에 할당됩니다.
위 내용이 모두 이 글에 담겨 있으니 모든 분들께 도움이 되었으면 좋겠습니다