>  기사  >  웹 프론트엔드  >  JavaScript의 다양한 연산자 요약

JavaScript의 다양한 연산자 요약

怪我咯
怪我咯원래의
2017-07-04 15:23:251329검색

여기에서 말하는 연산자에는 산술 연산자와 부울 및 할당 등의 논리 연산자가 포함됩니다. 필요한 친구들이 모두 참고할 수 있도록 JavaScript의 다양한 연산자 사용법을 요약했습니다.

단항 연산자
하나의 값에만 연산을 수행할 수 있는 연산자를 단항 연산자라고 합니다.
단항 연산자는 ECMAScript에서 가장 간단한 연산자입니다.

1. 증가 및 감소 연산자
증가 및 감소 연산자는 C에서 직접 차용했으며 각각 접두사 유형과 후위 유형의 두 가지 버전이 있습니다. Gu Mingsiyi, 접두사가 있는 유형은 연산할 변수 앞에 오고, 후위 유형은 연산할 변수 뒤에 와야 합니다.
Pre-type:

var num1 = 1;
var num2 = 2;
var num3 = ++num1 + num2;//4

Post-type:

var num1 = 1;
var num2 = 2;
var num3 = num1++ + num2;//3

위의 두 코드는 결과가 다릅니다. 그 이유는 사후 증가와 감소, 사전 증가와 감소 사이에 매우 중요한 차이가 있기 때문입니다. , 사후 증가 감소 연산은 이를 포함하는 명령문이 평가된 후에 수행됩니다.

적용 범위:

접두사 증가 및 감소, 후위 증가 및 감소 이 네 가지 연산자는 모두 모든 값에 적용 가능합니다. 다른 값에 적용할 경우 이 연산자는 Number() 변환 함수와 같이 값을 변환한 다음 변환 후 1을 더하거나 뺍니다.

2. 단항 덧셈 및 뺄셈 연산자
단항 덧셈 및 뺄셈 연산자는 주로 기본 산술 연산에 사용되며
데이터 유형을 변환하는 데에도 사용할 수 있습니다(이 연산자는 이를 Number() 변환 함수처럼 변환합니다. 변환할 값).

부울 연산자
세 가지 부울 연산자가 있습니다: NOT(NOT), AND(AND) 또는 (OR).

1. 논리 NOT
논리 NOT 연산자는 느낌표(!)로 표시되며 ECMAScript의 모든 값에 적용할 수 있습니다. 값의 데이터 유형에 관계없이 이 연산자는 부울 값을 반환합니다.

두 개의 논리 NOT 연산자를 동시에 사용하면 실제로 Boolean() 변환 함수의 동작을 시뮬레이션합니다

2. 논리 AND
논리 AND 연산자는 두 개의 앰퍼샌드(&&)로 표시되며 두 개의 연산 번호와 모든 유형의 피연산자에 적용할 수 있습니다. 논리 AND는 단락 연산입니다. 즉, 첫 번째 피연산자가 false로 평가되면 두 번째 피연산자는 평가되지 않습니다.
두 값이 모두 true이면 결과는 true입니다. 두 값 중 하나는 참이고 하나는 거짓이면 결과는 거짓입니다. 두 값 모두 false인 경우 false가 반환됩니다.
값 중 하나가 부울 값이 아닌 경우: 다음 규칙을 따르세요

첫 번째 피연산자가 false이면 첫 번째 피연산자를 반환합니다.

첫 번째 피연산자가 true이면 두 번째 피연산자를 반환합니다.

첫 번째 피연산자가 객체이면 두 번째 피연산자가 반환됩니다.

var a = {b:1};
a && 'ss'//"ss"

두 번째 피연산자가 객체이면 첫 번째 피연산자가 true로 평가되는 경우에만 반환됩니다. Object

'ss' && a//Object {b: 1}

두 피연산자가 모두 객체이면 두 번째 피연산자를 반환합니다. Operand

var c = {d:2};
c && a//Object {b: 1}

(1) 피연산자 중 하나가 null이면 null을 반환합니다.

(2) 피연산자 중 하나가 NaN이면 NaN을 반환합니다.
(3) 피연산자 중 하나가 정의되지 않은 경우 undefine

3을 반환합니다. 논리 AND 연산자와 유사하며 논리 OR 연산자도 단락 연산자입니다. 즉, 첫 번째 피연산자가 true로 평가되면 두 번째 피연산자는 평가되지 않습니다.
(1) 첫 번째 피연산자가 true이면 첫 번째 피연산자를 반환합니다.
(2) 첫 번째 피연산자가 false이면 두 번째 피연산자를 반환합니다.

곱셈 연산자

ECMAScript는 3개의 곱셈 연산자를 정의합니다: 곱셈, 나눗셈, 모듈러스

Infinity*0//NaN
0/0//NaN
Infinity/Infinity//NaN

덧셈 연산자

1. 덧셈(문자열로 변환)

두 연산자 모두 숫자 값입니다
정기적인 덧셈 계산을 수행합니다.

Infinity + -Infinity//NaN
피연산자 중 하나가 문자열인 경우

두 연산자가 모두 문자열인 경우 두 번째 연산자를 첫 번째 연산자와 연결합니다.

한 연산자만 문자열인 경우 연결합니다. 다른 피연산자는 문자열로 변환된 다음 두 연산자가 문자열로 변환됩니다. 문자열이 연결됩니다.

피연산자가 객체, 숫자 값 또는 부울 값인 경우 해당 toString() 메서드를 호출하여 해당 문자열 값을 얻은 다음 문자열에 대한 이전 규칙을 적용합니다. null 및 정의되지 않은 경우 String() 함수를 호출하고 각각 "undefine" 및 "null" 문자열을 가져옵니다.

2 + '' //"2"


2. 빼기(값 변환)

두 피연산자가 모두 숫자 값인 경우일반적인 산술 빼기 연산을 수행하고 결과를 반환합니다. 피연산자 중 하나가 NaN이면 결과는 NaN

Infinity - Infinity//NaN
입니다. 피연산자가 숫자 값이 아닙니다

피연산자가 문자열, 부울 값, null 또는 정의되지 않은 경우 먼저 Number() 함수가 백그라운드에서 호출되어 숫자 값으로 변환된 후 다음에 따라 빼기 계산이 수행됩니다. 이전 규칙. 변환 결과가 NaN이면 빼기 결과도 NaN입니다.

피연산자 중 하나가 객체인 경우 객체의 valueOf() 메서드를 호출하여 객체를 나타내는 값을 가져옵니다. 결과 값이 NaN이면 빼기 결과도 NaN입니다. 객체에 valueOf() 메서드가 없으면 해당 toString() 메서드가 호출되고 결과 문자열이 숫자 값으로 변환됩니다.

5 - true//4

关系操作符
如果两个操作数都是数值,则执行数值比较
如果两个操作数都是字符串,则比较两个字符串对应的字符编码值
如果一个操作数是数值,则将另一个操作数转换为数值,然后执行数值比较

var result = &#39;23&#39; < &#39;3&#39;//true
var result = &#39;23&#39; < 3//false

相等操作符
1.相等和不相等
先转换再比较

(1)如果有一个操作数是布尔值,则在比较相等性之前,先将其转换为数值
(2)如果有一个操作数是字符串,另一个操作数是数值,先将其转换为数值
(3)如果有一个操作数是对象,另一个不是,则调用对象的valueOf()方法,用得到的基本类型值按前面的基本规则进行比较
null和undefined是相等的
要比较相等性之前不能将null和undefined转换为任何其他值
如果两个操作数都是NaN,相等操作符也返回false,按规则,NaN不等于NaN

2.全等和不全等
仅比较而不转换

"55" !== 55 //true

条件操作符

variable = boolean_expression ? true_value : false_value

本质上,这段代码的含义就是基于对boolean_expression求值的结果,决定给变量variable赋什么值。如果求值结果为true,则给变量赋true_value;如果求值结果为false,则给变量variable赋false_value值。

赋值操作符
简单的赋值操作符由等号表示,其作用就是把右侧的值赋给左侧的变量。

逗号操作符
逗号操作符多用于声明多个变量;但除此之外,逗号操作符还用来赋值。在用于赋值时,逗号操作符总会返回表达式中的最后一项。

위 내용은 JavaScript의 다양한 연산자 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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