>웹 프론트엔드 >JS 튜토리얼 >JavaScript의 연산자 종류와 사용 규칙을 간략하게 설명합니다.

JavaScript의 연산자 종류와 사용 규칙을 간략하게 설명합니다.

巴扎黑
巴扎黑원래의
2017-07-29 17:22:421566검색

자바스크립트에는 많은 연산자가 있는데, 주로 산술 연산자, 동일 연산자, 비교 연산자, 문자열 연산자, 논리 연산자, 할당 연산자 등으로 구분됩니다. 이 기사에서는 모두 고유한 연산 규칙을 ​​소개합니다.

자바스크립트에는 많은 연산자가 있는데 주로 산술 연산자, 항등 연산자, 비교 연산자, 문자열 연산자, 논리 연산자, 할당 연산자 등으로 나뉩니다. 이러한 연산자에는 몇 가지 고유한 작업 규칙이 있습니다. JavaScript의 연산자를 소개하겠습니다.

  1. 자바스크립트 연산자의 종류

  1. 산술 연산자: + , - , * , / , % , -(단항 부정) , ++ , --

  2. 동일 및 동일 연산자 :==, ===, !==, !===

 3. 비교 연산자: <, >, <=, >=

 4. 문자열 연산자: <, > ;, <=, > ;=, =, +

 5. 논리 연산자: &&, ||, !,

 6. 대입 연산자: =, +=, *=, -=, /=

  2. JavaScript 연산자 규칙

1. 산술 연산자 규칙

"+": "더하기" 및 "연결" 연산을 수행할 수 있습니다. 두 연산자 중 하나가 문자열이면 JavaScript는 다른 연산자를 문자열로 변환한 다음 두 피연산자를 연결합니다.

  "+": 피연산자가 객체인 경우 JavaScript는 객체를 더하기 위한 숫자로, 연결하기 위한 문자열로 변환합니다.

  "-" "*" "/" 두 피연산자 중 하나인 경우; 숫자가 아닌 경우 수학 연산을 수행하려면 숫자로 변환하세요.

  "/" JavaScript에서는 모든 숫자가 부동 소수점 숫자이므로 나누기 결과는 모두 부동 소수점 숫자입니다. 5/2 = 2.5는 플러스 또는 마이너스 무한대입니다.

"%" 모듈로 연산자: 첫 번째 피연산자와 두 번째 피연산자의 모듈로를 계산합니다. 즉, 첫 번째 피연산자를 두 번째 피연산자로 나누면 나머지가 반환됩니다. 피연산자가 숫자가 아닌 경우 숫자로 변환됩니다.

 “-” 단항 부정: 피연산자를 부정합니다. 피연산자가 숫자가 아닌 경우 숫자로 변환합니다.

  "++" "--" 증가 연산자/감소 연산자 기호: 피연산자는 변수, 트리 그룹의 요소 또는 객체의 속성이어야 합니다. 피연산자가 숫자가 아닌 경우 숫자로 변환됩니다.

참고: "++"가 피연산자 앞에 있는 경우 먼저 피연산자를 증가시킨 다음 피연산자 증가 이후의 값을 계산하세요.

 "--"가 피연산자 뒤에 있는 경우 먼저 피연산자가 증가하기 전의 값을 계산한 다음 피연산자를 증가시킵니다.

 예: i = 1; //i에 1을 할당

 j = ++i; //먼저 i를 2로 증가시킨 다음 j에 2를 할당하고 i의 값은 2입니다. j도 2이다.

 i = 1; //i에 1을 할당

 j = i++; //i를 j에 먼저 할당한 후 i의 값을 2로 증가시킵니다. i의 값은 2이고 j의 값은 1입니다. .

 감소 연산자 "--"는 "++"와 같습니다.

  2. 항등 연산자 및 항등 연산자

  (I) "==" "!==" 항등 연산자 및 비항등 연산자:

두 피연산자를 비교하여 부울이 아닌 값을 반환합니다.

  숫자값, 문자열, 불리언 값을 비교하면 모두 정량적 값을 사용합니다. 두 변수는 저장된 값이 동일한 경우에만 동일합니다.

객체, 배열, 함수를 비교할 때 참조가 사용됩니다. 두 변수는 동일한 객체를 참조할 때만 동일합니다. 두 개의 서로 다른 배열은 정확히 동일한 요소를 가지고 있더라도 완전히 다릅니다. 객체, 배열, 함수에 대한 참조를 저장하는 변수의 경우 동일한 객체, 배열, 함수를 참조하는 경우에만 동일합니다.

 주의! 지켜야 할 원칙:

 두 피연산자의 타입이 다른 경우: 같은 타입으로 변환,

 1) 숫자와 문자열을 숫자로 변환한 후 비교합니다. .

 2) 비교를 위해 True는 1로, False는 0으로 변환됩니다.

 3) 객체, 배열, 함수와 숫자 또는 문자열, 객체, 배열, 함수를 원시형 값으로 변환하여 비교합니다. (먼저 valueOf를 사용하고, 안되면 toString을 사용하세요.)

 4) 다른 유형의 조합은 동일하지 않습니다.

 두 피연산자의 타입이 같거나 같은 타입으로 변환한 경우:

 1) 두 문자열: 같은 위치의 문자가 같으면 두 문자열은 같습니다.

 2) 두 개의 숫자: 두 숫자가 같으면 같은 것입니다. 하나가 NaN이거나 둘 다 NaN인 경우에는 동일하지 않습니다.

 3) 둘 다 참이거나 둘 다 거짓이면 같은 의미입니다.

 4) 두 개의 참조가 동일한 개체, 함수 또는 배열을 참조하는 경우 서로 다른 개체, 함수 또는 배열을 참조하는 경우에는 동일하지 않습니다. 원래 값과 동일하게 완전하게 변환될 수 있습니다.

 5) 두 개의 null이 있거나 둘 다 정의되지 않은 경우에는 동일합니다.

 “!=” 비항등 연산자: 항등 연산자 감지 결과가 반대입니다.

 (II) "===" "!===" 동일한 연산자 및 동일하지 않은 연산자 기호:

동일 연산자는 항등 연산자의 비교 규칙을 따르지만 피연산자에 대한 유형 변환을 수행하지 않습니다. 두 피연산자의 유형이 다른 경우 두 피연산자의 유형이 동일한 경우에만 false가 반환됩니다. 등식 연산은 기호의 비교 규칙에 따라 수행됩니다.

 "!==" 동일하지 않은 연산자는 동일 연산자와 반대의 결과를 냅니다. 두 피연산자의 유형이나 값이 다른 경우 true를 반환합니다.

 3. 비교 연산자

 이 비교 연산자는 서로 다른 유형의 값을 비교하는 데 사용되며 결과는 부울 값을 반환합니다.

  “<”“>”“<=”“>=”

  규칙에 유의하세요: 비교의 피연산자는 모든 유형이 될 수 있지만 숫자와 피연산자에서만 수행될 수 있습니다. 숫자나 문자열이 아닌 피연산자는 숫자나 문자열로 변환됩니다.

 1) 두 피연산자가 모두 숫자이거나 둘 다 숫자로 변환될 수 있는 경우 숫자의 크기에 따라 비교가 이루어집니다.

 2) 두 피연산자가 모두 문자열이거나 둘 다 문자열로 변환될 수 있는 경우 비교가 수행됩니다.

 3) 문자열이 숫자를 만나면 비교를 위해 문자열이 숫자로 변환됩니다.

 4) 피연산자를 숫자나 문자열로 변환할 수 없는 경우 결과는 false입니다.

 4. 문자열 연산자

  전용 문자열 연산자는 없지만 일부 연산자는 문자열 피연산자를 만날 때 다르게 동작합니다.

 (I) "+"는 두 문자열을 연결합니다.

 1) 두 피연산자가 모두 문자열이면 연결합니다.

 2) 둘 중 하나가 숫자이면 숫자를 문자열로 변환합니다.

  (II) ">"와 같은 비교 연산자는 비교를 통해 두 문자열의 순서를 확인합니다. 비교에서는 작은 문자가 큰 문자 앞에 오고 대문자가 소문자 앞에 옵니다.

 (III) "+"의 기능은 계산 순서에 따라 다릅니다.

 예: s = 1 + 2 + "var" 그러면: 1+2가 먼저 계산되고 그 다음이 3var이므로 결과가 반환됩니다. 결과 3은 "var"로 연결되는 문자열로 변환됩니다.

예: s = "var" + 1 + 2 결과: var와 1 사이의 연결이 먼저 계산된 다음 결과 var1이 반환됩니다. 문자열로 변환된 2로 연결됩니다.

 5. 논리 연산자

 는 부울 연산을 수행하는 데 사용되며 종종 비교 연산자와 함께 사용되어 복잡한 비교 연산을 표현합니다.

  “&&” 논리 AND 연산, “||” 논리 OR 연산자, “!” 논리 NOT 연산자

  (I) “&&” 두 피연산자가 모두 부울 값인 경우 논리 AND 연산이 수행됩니다. 두 부울 값이 모두 true인 경우에만 결과를 true로 반환하고, 그렇지 않으면 false를 반환합니다.

 참고: 실제 성능

  "&&"는 첫 번째 표현식 피연산자의 부울 값을 감지합니다. 첫 번째 피연산자 표현식이 false를 반환하면 왼쪽의 첫 번째 피연산자 표현식 값을 반환합니다. 그렇지 않으면 false를 계속 감지합니다. 오른쪽의 두 번째 피연산자 표현식을 입력하고 두 번째 피연산자 표현식의 값을 반환합니다.

 예: if (a = b) stop(); 및 (a = b) && stop() ; 연산자 오른쪽에 있는 코드는 실행이 보장되지 않으므로 더 이상 사용되지 않습니다.

 예: if ((a < b) && (b++ <10) ) stop() if 연산자 권한이 필요한 경우 이전 반환 값으로 인해 실행되지 않을 수 있습니다. &&;

  "&&" 오른쪽에 다른 함수(할당, 함수 호출, 증가 및 감소)가 포함된 표현식을 사용하는 것은 일반적으로 반대됩니다. 부울 대수 연산자로 생각하는 것이 더 간단하고 안전합니다.

  (II) "||" 두 피연산자가 모두 부울 값인 경우 논리 OR는 두 부울 값 중 하나가 true이면 결과가 true이고, 그렇지 않으면 false가 반환됩니다. .

 참고: 실제 성능

  "||"은 첫 번째 피연산자 표현식이 true를 반환하면 왼쪽의 첫 번째 피연산자 표현식 값을 반환합니다. 그렇지 않으면 true입니다. 계속해서 오른쪽의 두 번째 피연산자 표현식을 검색한 다음 두 번째 피연산자 표현식의 값을 반환합니다.

 이 메서드도 더 이상 사용되지 않습니다. 왜냐하면 연산자 오른쪽의 코드가 실행된다는 보장이 없기 때문입니다.



 "||"를 부울 대수 연산자로 간주하는 것이 더 간단하고 안전합니다.

  (III) "!" 논리 부정은 피연산자 앞에 배치되는 단항 연산자이며, 그 목적은 피연산자를 부정하는 것입니다.

 6. 할당 연산자

 (I) "="는 항상 왼쪽의 피연산자가 변수, 배열 요소 또는 객체의 속성일 것으로 예상합니다. 임의의 유형인 오른쪽 피연산자

  오른쪽에서 왼쪽으로의 연관성. 표현식에 여러 대입 연산자가 있는 경우 가장 오른쪽부터 계산이 시작됩니다.

참고: 각 할당 표현식에는 연산자 오른쪽에 있는 값인 값이 있습니다.

   (II) 값에 왼쪽의 값을 추가한 후

  "+=" 연산으로 할당 연산을 사용할 수 있습니다. 오른쪽의 값은 왼쪽의 값에 할당된 값입니다. "-=" "/=" "*=" 메서드는 동일합니다.

  7. 기타 연산자

"?:" 조건 연산자는 유일한 삼항 연산자입니다.

표현식의 부울 결과 모든 유형의 값): 표현식 2(모든 유형의 모든 값)

첫 번째 피연산자의 부울 결과를 기반으로 true인 경우 두 번째 피연산자 표현식이 실행되고 두 번째 피연산자의 값이 반환됩니다. 두 개의 피연산자 표현식입니다. 첫 번째 피연산자의 부울 결과가 false이면 세 번째 피연산자 표현식이 실행되고 세 번째 피연산자 표현식의 값이 반환됩니다.

 3. JavaScript 연산자에 대한 참고사항

  1. 연산자에 전달되는 데이터 유형과 반환되는 데이터 유형에 주의하세요! 연산자마다 피연산자 표현식으로 계산된 결과가 특정 데이터 유형을 따르기를 기대합니다.

 예: 문자열 곱셈을 수행할 수 없습니다. "a" * "b"는 불법이지만 가능한 경우 JavaScript는 표현식을 올바른 유형으로 변환하므로 " 3" * "5" 표현식이 합법적입니다. JavaScript는 문자열을 숫자로 변환하고 연산을 수행합니다. 결과는 문자열 "15"가 아니라 숫자 15입니다.

  2. +는 피연산자에 따라 성능이 다릅니다.

  String + String = String (연결) "a" + "b" = "ab" "5" + "6" = "11"

 String + 숫자 = (숫자로 변환된 문자열) 문자열 (연결됨) "a" + 5 = "a5" 5는 문자열 "1" + 0 = "10"으로 변환됩니다.

숫자 + 숫자 = 숫자(더하기) 5 + 5 = 10.

  3. 연산자의 연관성에 주의하세요. 일부 연산자는 왼쪽에서 오른쪽으로 연관되어 있고 일부는 오른쪽에서 왼쪽으로 연관되어 있습니다.

 예: w = a + b + c는 w = (a + b) + c와 동일합니다.

  w = ---b는 w = - ( - ( -b ) )와 같습니다. = b = c는 w= ( a = ( b = c ))와 동일합니다.

 단항 연산자, 대입 연산자 및 삼항 연산자의 연관성은 오른쪽에서 왼쪽으로

 여기서 JavaScript 연산자를 소개합니다. 모든 분들의 일상생활에 도움이 되길 바랍니다.

위 내용은 JavaScript의 연산자 종류와 사용 규칙을 간략하게 설명합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.