자바스크립트에는 많은 연산자가 있는데 주로 산술 연산자, 항등 연산자, 비교 연산자, 문자열 연산자, 논리 연산자, 할당 연산자 등으로 구분됩니다. 이러한 연산자에는 몇 가지 고유한 작업 규칙이 있습니다. JavaScript의 연산자를 소개하겠습니다.
1. 자바스크립트 연산자의 종류
1. 산술 연산자: , - , * , / , % , -(단항 부정) , , --
2. 항등 연산자: ==, ===, !==, !===
3. 비교 연산자: , =
4. 문자열 연산자: , =, =,
5. 논리 연산자: &&, ||, !,
6. 할당 연산자: =, =, *=, -=, /=
2. 자바스크립트 연산자 규칙
1. 산술 연산자 규칙
" ": "덧셈"과 "연결" 두 연산자 중 하나가 문자열이면 JavaScript는 다른 연산자를 문자열로 변환한 다음 두 피연산자를 연결합니다.
" ": 피연산자가 객체인 경우 JavaScript는 객체를 더하기 위한 숫자로 변환하거나 연결하기 위한 문자열로 변환합니다.
"-""*""/" 두 피연산자 중 숫자가 아닌 경우 수학 연산을 수행하기 위해 숫자로 변환됩니다.
“/” JavaScript에서는 모든 숫자가 부동 소수점 숫자이므로 나누기 결과는 모두 부동 소수점 숫자입니다. 5/2 = 2.5는 플러스 또는 마이너스 무한대입니다. 0은 NaN입니다.
"%" 모듈로 연산자: 첫 번째 피연산자와 두 번째 피연산자의 모듈로를 계산합니다. 즉, 첫 번째 피연산자를 두 번째 피연산자로 나누면 나머지가 반환됩니다. 피연산자가 숫자가 아닌 경우 숫자로 변환됩니다.
“-” 단항 부정: 피연산자가 숫자가 아닌 경우 숫자로 변환합니다.
""--" 증가 연산자/감소 연산자 기호: 피연산자는 변수, 트리 그룹의 요소 또는 객체의 속성이어야 합니다. 피연산자가 숫자가 아닌 경우 숫자로 변환됩니다.
참고: " "가 피연산자 앞에 있는 경우 먼저 피연산자를 증가시킨 다음 피연산자 증가 후의 값을 계산합니다.
피연산자 뒤에 "--"가 있는 경우 피연산자가 증가하기 전의 값을 먼저 계산한 후 피연산자를 증가시킵니다.
예: i = 1; //i에 1을 할당
j = i; //먼저 i를 2로 증가시킨 다음 j에 2를 할당합니다. 2이면 j의 값도 2입니다.
i = 1; //i에 1을 할당
j = i; //먼저 i를 j에 할당한 다음 i를 2로 증가시킵니다. j의 값은 1입니다.
감소 연산자 "--"는 " "와 같습니다.
2. 항등 연산자 및 항등 연산자
(I) “==” “!==” 항등 연산자 및 비항등 연산자:
비교 2 피연산자, 반환 부울이 아닌 값.
숫자값, 문자열, 부울값 비교는 모두 정량적 값을 사용합니다. 두 변수는 저장된 값이 동일한 경우에만 동일합니다.
객체, 배열, 함수를 비교할 때 두 변수는 동일한 객체를 참조할 때만 동일합니다. 두 개의 서로 다른 배열은 정확히 동일한 요소를 가지고 있더라도 완전히 다릅니다. 객체, 배열, 함수에 대한 참조를 저장하는 변수의 경우 동일한 객체, 배열, 함수를 참조하는 경우에만 동일합니다.
주의! 지켜야 할 원칙:
두 피연산자의 타입이 다른 경우: 같은 타입으로 변환,
1) 숫자와 문자 문자열, 문자열을 숫자로 변환한 후 비교합니다.
2) 비교를 위해 true는 1로, false는 0으로 변환됩니다.
3) 객체, 배열, 함수와 숫자 또는 문자열 객체, 배열, 함수를 원시형 값으로 변환한 후 비교합니다. (먼저 valueOf를 사용하고, 안되면 toString을 사용하세요.)
4) 다른 유형의 조합은 동일하지 않습니다.
두 피연산자의 타입이 같거나 같은 타입으로 변환한 경우:
1) 두 문자열: 같은 위치의 문자가 같으면 두 문자열은 같습니다. .
2) 두 개의 숫자: 두 숫자가 같으면 같은 것입니다. 하나가 NaN이거나 둘 다 NaN인 경우에는 동일하지 않습니다.
3) 둘 다 참이거나 둘 다 거짓이면 같은 의미입니다.
4) 두 개의 참조가 동일한 개체, 함수 또는 배열을 참조하는 경우 서로 다른 개체, 함수 또는 배열을 참조하는 경우에는 동일하지 않습니다. 함수 및 배열은 원래 값과 정확히 동일한 값으로 변환될 수 있음을 참조합니다.
5) null이 2개이거나 둘 다 정의되지 않은 경우 동일합니다.
“!=” 비항등 연산자: 결과는 항등 연산자 감지 결과와 반대입니다.
(II) "===" "!===" 항등 연산자 및 비항등 연산자 기호:
항등 연산자는 항등 연산자의 비교 규칙을 따르지만, 피연산자에 대한 유형 변환을 수행하지 않습니다. 두 피연산자의 유형이 다른 경우 두 피연산자의 유형이 동일한 경우에만 false가 반환되며 같음 연산자의 비교 규칙을 따릅니다.
"!==" 동일하지 않은 연산자는 동일 연산자와 반대의 결과를 냅니다. 두 피연산자의 유형이나 값이 다른 경우 true를 반환합니다.
3. 비교 연산자
이러한 비교 연산자는 서로 다른 유형의 값을 비교하는 데 사용되며 결과는 부울 값을 반환합니다.
“”“=”
규칙에 유의하세요: 비교의 피연산자는 모든 유형이 될 수 있지만 숫자와 피연산자에 대해서만 수행할 수 있습니다. 숫자나 문자열이 아닌 피연산자는 숫자나 문자열로 변환됩니다.
1) 두 피연산자가 모두 숫자이거나 둘 다 숫자로 변환할 수 있는 경우 비교는 숫자의 크기를 기반으로 합니다.
2) 두 피연산자가 모두 문자열인 경우, 또는 문자열로 변환할 수 있으며 알파벳순으로 비교됩니다.
3) 문자열이 숫자를 만나면 문자열을 숫자로 변환하여 비교합니다.
4) 피연산자를 숫자나 문자열로 변환할 수 없는 경우 결과는 false입니다.
4. 문자열 연산자
전용 문자열 연산자는 없지만 일부 연산자는 문자열 피연산자를 만날 때 다르게 동작합니다.
(I)“ ”는 2개의 문자열을 연결합니다.
1) 두 피연산자가 모두 문자열인 경우 연결합니다.
2) 둘 중 하나가 숫자인 경우 , 숫자를 문자열로 변환하고 연결합니다.
(II)">"와 같은 비교 연산자는 비교를 통해 두 문자열의 순서를 확인하며 비교에서는 작은 문자가 앞에 오는 순서를 사용합니다. 큰 글자와 대문자가 소문자보다 앞에 옵니다.
(III) " "의 동작 방법은 계산 순서에 따라 다릅니다.
예: s = 1 2 "var"이면: 1 2가 먼저 계산되므로 결과 3var를 반환합니다. , 그리고 결과 3 문자열로 변환하고 "var";
로 연결합니다. 예: s = "var" 1 2 그러면: var와 1 사이의 연결이 다음과 같으므로 결과 var12를 반환합니다. 먼저 계산한 다음 결과 var1을 문자열 2로 변환하여 연결합니다.
5. 논리 연산자
는 부울 연산을 수행하는 데 사용되며 종종 비교 연산자와 함께 사용되어 복잡한 비교 연산을 표현합니다.
"&&" 논리 AND 연산자, "||" 논리 OR 연산자, "!" 논리 NOT 연산자
(I) 두 피연산자가 모두 불리언 값인 경우, 논리 AND 즉, 두 부울 값이 모두 true인 경우에만 결과가 true이고, 그렇지 않으면 false가 반환됩니다.
참고: 실제 성능
"&&"는 첫 번째 표현식 피연산자의 부울 값을 감지합니다. 첫 번째 피연산자 표현식이 false를 반환하면 왼쪽의 첫 번째 피연산자 값이 반환됩니다. 표현식: false; 그렇지 않으면 오른쪽의 두 번째 피연산자 표현식이 계속 감지되고 두 번째 피연산자 표현식의 값이 반환됩니다.
예: if (a = b) stop; ( ); (a = b) && stop();
연산자 오른쪽의 코드는 실행이 보장되지 않으므로 이 메서드는 더 이상 사용되지 않습니다. 예를 들어 : if (( a
"&&"를 부울 대수 연산자로 간주하는 것이 더 간단하고 안전합니다.
(II) "||" 두 피연산자가 모두 부울 값인 경우 논리 OR은 두 부울 값 중 하나가 true이면 결과가 true입니다. 그렇지 않으면 false를 반환합니다.
참고: 실제 성능
"||"은 첫 번째 표현식 피연산자의 부울 값을 감지합니다. 첫 번째 피연산자 표현식이 true를 반환하면 왼쪽의 첫 번째 연산이 반환됩니다. 숫자 표현식의 값: true, 그렇지 않으면 오른쪽의 두 번째 피연산자 표현식이 계속 감지되고 두 번째 피연산자 표현식의 값이 반환됩니다.
이 메서드도 더 이상 사용되지 않습니다. 기호 오른쪽에 있는 코드는 실행이 보장되지 않습니다.
|| 오른쪽에 있는 다른 함수(할당, 함수 호출, 증가 및 감소)와 함께 표현식을 사용하는 것은 일반적으로 반대입니다.
"| |" 바꾸기는 더 간단하고 안전한 부울 대수 연산자로 간주됩니다.
(III) "!" 논리 부정은 피연산자 앞에 배치되는 단항 연산자이며, 그 목적은 피연산자를 부정하는 것입니다.
6. 할당 연산자
(I) "="는 할당 연산자입니다. 항상 왼쪽의 피연산자가 변수, 배열 요소 또는 속성일 것으로 예상합니다. 객체
오른쪽은 모든 유형의 임의 값일 것으로 예상됩니다.
오른쪽에서 왼쪽으로의 연관성. 표현식에 여러 대입 연산자가 있으면 계산이 시작됩니다. 가장 오른쪽.
참고: 각 할당 표현식에는 연산자 오른쪽에 있는 값이 있습니다.
(II)
연산과 함께 할당 연산을 사용할 수 있습니다. “=" 왼쪽 값이 오른쪽 값에 추가되고 왼쪽 값에 할당됩니다. "-=" "/=" "*=" 메서드는 같습니다.
7. 기타 연산자
"?:" 조건 연산자는 유일한 삼항 연산자입니다. > 표현식의 부울 결과? 표현식 1(모든 유형의 모든 값): 표현식 2(모든 유형의 모든 값)
첫 번째 피연산자의 부울 결과를 기반으로 true인 경우 두 번째 피연산자 표현식이 실행되고 두 번째 피연산자 표현식의 값이 반환됩니다. 첫 번째 피연산자의 부울 결과가 false이면 세 번째 피연산자 표현식이 실행되고 두 번째 피연산자 표현식의 값이 반환됩니다. 표현.
3. 자바스크립트 연산자 주의사항
1. 연산자에 전달되는 데이터 유형과 반환되는 데이터 유형에 주의하세요! 데이터 유형을 준수하는 결과.
예: 문자열 곱셈을 수행할 수 없습니다. "a" * "b"는 불법이지만 가능한 경우 javascript는 표현식을 올바른 유형으로 변환하므로 표현식 "3" * "5" JavaScript는 문자열을 숫자로 변환하고 작업을 수행합니다. 결과는 문자열 "15"가 아니라 숫자 15입니다.
2. 피연산자에 따라 다른 성능:
String string = string (connected) "a" "b" = "ab" "5" "6" = "11"
문자열 숫자 = (문자열을 숫자로 변환) 문자열 (연결); "a" 5 = "a5" 5는 문자열 "1"로 변환 0 = "10"
숫자 숫자 = 숫자 (추가) 5 5 = 10.
3. 연산자의 연관성에 주의하세요. 일부 연산자는 왼쪽에서 오른쪽으로 연관됩니다.
예: w = a b c는 w = (a b) c와 동일합니다.
w = ---b는 w = - ( - ( -b ) )와 같습니다. a = b = c는 w= ( a = ( b = c ))
단항 연산자, 대입 연산자 및 삼항 연산자의 연관성은 오른쪽에서 왼쪽입니다.
JavaScript; 여기 운영자 소개입니다. 여러분의 일상생활에 도움이 되길 바랍니다.