단절 조작자
하나의 값 만 작동 할 수있는 연산자를 단백질 연산자라고합니다.
외교 연산자는 ECMAScript에서 가장 간단한 연산자입니다.
1. 연산자를 증가시키고 줄입니다
증가 및 감소 작업자는 C에서 직접 빌리며 각각은 사전 유형과 포스트 타입의 두 가지 버전을 가지고 있습니다. Gu Mingsi는 사전 유형이 작동 할 변수를 제공해야한다고, 포스트 타입은 변수를 작동시켜야한다고 말했다.
전면 유형 :
var num1 = 1; var num2 = 2; var num3 = ++ num1 +num2; // 4
후면 유형 :
var num1 = 1; var num2 = 2; var num3 = num1 +++ num2; // 3
위의 두 코드는 상호 증가와 사전 증가 및 감소 사이에 매우 중요한 차이가 있기 때문에, 즉 증가한 후, 이들을 포함하는 명령문이 평가 된 후에 수행 된 후에 매우 중요한 차이가 있기 때문에 결과가 다릅니다.
응용 프로그램의 범위 :
사전 증가 및 사후 증가 된 4 명의 운영자는 모든 값에 적용됩니다. 다른 값에 적용되면이 연산자는 숫자 () 변환 함수와 같은 값을 변환하고 변환 후 1을 추가하고 빼냅니다.
2. 일원 추가 및 뺄셈 연산자
단수 추가 및 뺄셈 연산자는 주로 기본 산술 작업에 사용되며 데이터 유형을 변환하는 데 사용될 수도 있습니다 (연산자는 숫자 () 변환 함수와 같이이 값을 변환).
부울 운영자
부울 운영자가 3 개 있습니다 : 비 (NOT) 및 (및) 또는 (또는).
1. 논리적이지 않은
논리적 비 수술자는 느낌표 (!)로 표시되며 ECMAScript의 모든 값에 적용될 수 있습니다. 이 값이 데이터 유형에 관계 없이이 연산자는 부울 값을 반환합니다.
동시에 두 논리적 비 운영기를 사용하면 실제로 부울 () 변환 함수의 동작이 시뮬레이션됩니다.
2. 논리 및
논리와 연산자는 두 합계 (&&)로 표시되며 두 개의 피연산자가 있으며 모든 유형의 피연산자에 적용 할 수 있습니다. 논리 및 단락 작업, 즉 첫 번째 피연산자가 False로 평가되면 두 번째 피연산자는 평가되지 않습니다.
두 값이 모두 참이면 결과는 참입니다. 두 값이 true이고 false 인 경우 결과는 False입니다. 두 값이 False 일 때 False를 반환합니다.
값 중 하나가 부울이 아닌 경우 : 다음 규칙을 따르십시오.
첫 번째 피연산자는 거짓이고 첫 번째 피연산자는 반환됩니다.
첫 번째 피연산자가 참이되면 두 번째 피연산자가 반환됩니다.
첫 번째 피연산자가 물체 인 경우 두 번째 피연산자가 반환됩니다.
var a = {b : 1}; a && 'ss'// "ss"두 번째 피연산자가 물체 인 경우, 첫 번째 피연산자의 평가 결과가 참인 경우에만 물체가 반환됩니다.
'ss'&& a // object {b : 1}두 피연산자가 물체 인 경우 두 번째 피연산자가 반환됩니다.
var c = {d : 2}; c && a // object {b : 1}(1) 피연산자가 NULL 인 경우 NULL을 반환하십시오
(2) NAN 인 피연산자가 있으면 Nan이 반환됩니다.
(3) 피연산자가 정의되지 않은 경우 정의되지 않은 반환
3. 논리적 또는
논리 및 연산자와 유사하게 논리 또는 연산자도 단락 연산자입니다. 즉, 첫 번째 피연산자의 평가 결과가 사실이라면, 두 번째 피연산자의 평가는 수행되지 않습니다.
(1) 첫 번째 피연산자는 사실입니다. 첫 번째 반환
(2) 첫 번째 피연산자는 False이고, 두 번째 반환
곱셈 연산자
ECMAScript는 곱셈, 분할 및 모듈 식 3 개의 곱셈 연산자를 정의합니다
Infinity*0 // nan0/0 // naninfinity/infinity // nan
첨가제 운영자
1. 추가 (턴 스트링)
두 연산자 모두 숫자 값입니다
정기적 인 추가 계산을 수행하십시오.
Infinity + -infinity // nan
피연산자가 문자열 인 경우
두 연산자가 문자열 인 경우 두 번째 연산자는 첫 번째 연산자와 함께 접합됩니다.
하나의 연산자 만 문자열이라면 다른 피연산자를 문자열로 변환 한 다음 두 줄을 하나로 묶습니다.
이 피연산자가 숫자 또는 부울 객체 인 경우 ToString () 메소드를 호출하여 해당 문자열 값을 얻은 다음 문자열에 대한 이전 규칙을 적용하십시오. NULL 및 UNDEFINED의 경우 String () 함수가 호출되고 문자열이 각각 "정의되지 않은"및 "NULL"을 얻습니다.
2 + ''// "2"
2. 뺄셈 (값으로 돌아 가기)
두 피연산자가 수치 인 경우
정기적 인 산술 감산 작업을 수행하고 결과를 반환하십시오. 피연산자가 NAN 인 경우 결과는 NAN입니다
인피니티 - 무한대 // 난
숫자가 아닌 피연산자가있는 경우
피연산자가 문자열, 부울, 널 또는 정의되지 않은 경우 숫자 () 함수는 백그라운드에서 호출되어 숫자 값으로 변환 한 다음 이전 규칙에 따라 뺄셈 계산을 수행합니다. 전환의 결과가 NAN 인 경우, 뺄셈의 결과는 NAN입니다.
피연산자가 객체 인 경우 객체를 나타내는 값을 얻기 위해 객체의 () 메소드가 호출됩니다. 획득 된 값이 NAN 인 경우, 뺄셈의 결과는 NAN입니다. 객체에 valueof () 메소드가 없으면 ToString () 메소드가 호출되고 결과 문자열이 숫자 값으로 변환됩니다.
5- True // 4
관계형 운영자
두 피연산자가 숫자 값이라면 숫자 비교를 수행하십시오
두 피연산자가 문자열 인 경우 두 줄에 해당하는 값을 인코딩하는 문자를 비교하십시오.
하나의 피연산자가 숫자 값인 경우 다른 피연산자를 숫자 값으로 변환하고 숫자 비교를 수행하십시오.
var result = '23'< '3'// truevar result = '23'<3 // false
동등한 연산자
1. 평등하고 불평등
먼저 변환 한 다음 비교하십시오
(1) 피연산자가 부울 값인 경우 평등을 비교하기 전에 숫자 값으로 변환하십시오.
(2) 스트링 인 피연산자가 있고 다른 피연산자가 숫자 값인 경우 먼저 숫자 값으로 변환하십시오.
(3) 하나의 피연산자가 객체이고 다른 하나가 아닌 경우, 객체의 () 메소드가 호출되고 얻어진 기본 유형 값은 이전 기본 규칙에 따라 비교됩니다.
Null과 Undefined는 동일합니다
평등을 비교하기 전에 NULL 및 정의되지 않은 다른 값으로 변환 할 수 없습니다.
두 피연산자가 모두 NAN 인 경우 평등 작업자도 False를 반환합니다. 규칙에 따르면 Nan은 Nan과 같지 않습니다.
2. 일치하고 불완전한
변환하지 않고 만 비교하십시오
"55"! == 55 // true
조건부 운영자
변수 = boolean_expression? true_value : false_value
본질적 으로이 코드의 의미는 boolean_expression을 평가 한 결과를 기반으로 변수 변수의 값을 결정하는 것입니다. 평가 결과가 true 인 경우 true_value를 변수에 할당하십시오. 평가 결과가 false 인 경우 변수 변수에 false_value를 할당하십시오.
운영자를 할당하십시오
간단한 할당 연산자는 동일한 부호로 표시되며 그 기능은 오른쪽의 값을 왼쪽 변수에 할당하는 것입니다.
쉼표 운영자
쉼표 연산자는 주로 여러 변수를 선언하는 데 사용됩니다. 그러나 쉼표 연산자는 값을 할당하는 데 사용됩니다. 할당에 사용될 때, 쉼표 연산자는 항상 표현식에서 마지막 항목을 반환합니다.