Operador unario
Un operador que solo puede operar un valor se llama operador unario.
El operador Unario es el operador más simple en ECMAScript.
1. Incremento y disminución de los operadores
El incremento y la disminución de los operadores piden prestado directamente de C, y cada uno tiene dos versiones: el pre-type y el post-type. Gu Mingsi dijo que el pre-tipo debería dar paso a la variable que se operará, mientras que el tipo post-tipo debe ser seguido por la variable que se operará.
Tipo delantero:
var num1 = 1; var num2 = 2; var num3 = ++ num1 +num2; // 4
Tipo trasero:
var num1 = 1; var num2 = 2; var num3 = num1 +++ num2; // 3
Los dos códigos anteriores tienen resultados diferentes, debido a que existe una diferencia muy importante entre después del incremento y el preincremento y la disminución, es decir, las operaciones posteriores al incremento y la disminución se realizan después de evaluar la declaración que los contiene.
Alcance de la aplicación:
Pre-incremento y posterior al incremento Los cuatro operadores se aplican a cualquier valor. Cuando se aplica a diferentes valores, este operador convierte el valor como la función de transformación número (), y agrega y resta 1 después de la conversión.
2. Operadores de adición y sustracción unidireccional
El operador de adición y sustracción unarios se usa principalmente para operaciones aritméticas básicas, y también se puede utilizar para convertir los tipos de datos (el operador convierte este valor como la función de transformación número ()).
Operador booleano
Hay tres operadores booleanos: no (no), y (y), o (o).
1. Lógico no lógico
El no operador lógico está representado por una marca de exclamación (!) Y puede aplicarse a cualquier valor en ECMAScript. Independientemente del tipo de datos que este valor sea, este operador devuelve un valor booleano.
El uso de dos no operadores lógicos al mismo tiempo simulará el comportamiento de la función de transformación booleana ()
2. Lógica y
La lógica y los operadores están representados por dos sumas (&&), y hay dos operandos y se pueden aplicar a cualquier tipo de operando. Operación lógica y de cortocircuito, es decir, si el primer operando se evalúa como falso, entonces el segundo operando no se evaluará.
Cuando ambos valores son verdaderos, el resultado es verdadero. Cuando dos valores son verdaderos y falsos, el resultado es falso. Devuelve falsos cuando ambos valores son falsos.
Cuando uno de los valores no es un booleano: siga las siguientes reglas
El primer operando es falso, y el primero se devuelve;
Cuando el primer operando es verdadero, se devuelve el segundo.
Si el primer operando es un objeto, se devuelve el segundo operando
var a = {b: 1}; a && 'ss' // "ss"Si el segundo operando es un objeto, el objeto se devolverá solo si el resultado de la evaluación del primer operando es verdadero
'ss' && a // objeto {b: 1}Si ambos operandos son objetos, se devuelve el segundo operando
var c = {d: 2}; c && a // objeto {b: 1}(1) Si un operando es nulo, devuelve nulo
(2) Si hay un operando que es nan, entonces se devuelve nan
(3) Si un operando está indefinido, devuelve indefinido
3. Lógico o
Similar a la lógica y los operadores, la lógica u operadores también son operadores de cortocircuito. Es decir, si el resultado de la evaluación del primer operando es verdadero, la evaluación del segundo operando no se realizará.
(1) El primer operando es verdadero, devuelve el primero
(2) El primer operando es falso, devuelve el segundo
Operador de multiplicación
Ecmascript define 3 operadores de multiplicación: multiplicación, división y modular
Infinity*0 // nan0/0 // naninfinity/infinity // nan
Operador aditivo
1. Adición (Turn String)
Ambos operadores son valores numéricos
Realice cálculos de adición regulares.
Infinity + -infinity // nan
Si un operando es una cadena
Si ambos operadores son cadenas, entonces el segundo operador está empalmado con el primer operador
Si solo un operador es una cadena, convierta el otro operando en una cadena y luego emplome las dos cadenas.
Si este operando es un objeto, numérico o booleano, llame a su método toString () para obtener el valor de cadena correspondiente y luego aplique las reglas anteriores sobre cadenas. Para nulo y indefinido, se llama la función String () y las cadenas "indefinidas" y "nulas" se obtienen respectivamente.
2 + '' // "2"
2. RESTRACTION (RETURN al valor)
Si ambos operandos son numéricos
Realice una operación regular de sustracción aritmética y devuelva el resultado. Si un operando es nan, el resultado es nan
Infinito - Infinity // nan
Si hay un operando que no es un valor numérico
Si un operando es una cadena, una función booleana, nula o indefinida, se llama a la función número () en segundo plano para convertirla en un valor numérico y luego realizar el cálculo de sustracción de acuerdo con las reglas anteriores. Si el resultado de la conversión es NAN, el resultado de la resta es Nan.
Si un operando es un objeto, el método valueOf () del objeto se llama para obtener el valor que representa el objeto. Si el valor obtenido es NAN, el resultado de la resta es Nan. Si el objeto no tiene un método valueOf (), se llama a su método toString () y la cadena resultante se convierte en un valor numérico.
5 - Verdadero // 4
Operadores relacionales
Si ambos operandos son valores numéricos, realice una comparación numérica
Si ambos operandos son cadenas, compare los valores de codificación de caracteres correspondientes a las dos cadenas
Si un operando es un valor numérico, convierta otro operando a un valor numérico y realice una comparación numérica
VAR result = '23' <'3' // realvar result = '23' <3 // falso
Operador igual
1. Igual y desigual
Convertir primero y luego comparar
(1) Si un operando es un valor booleano, conviértelo en un valor numérico antes de comparar la igualdad
(2) Si hay un operando que es una cadena y otro operando es un valor numérico, conviértelo a un valor numérico primero
(3) Si un operando es un objeto y el otro no lo es, entonces se llama al método Valuef () del objeto y el valor de tipo básico obtenido se compara de acuerdo con las reglas básicas anteriores.
nulo e indefinido son iguales
No puede convertir nulo y indefinido a ningún otro valor antes de comparar la igualdad
Si ambos operandos son nan, el operador igual también devuelve falso. De acuerdo con la regla, Nan no es igual a Nan
2. Congruente e incompleto
Comparar solo, no convertir
"55"! == 55 // Verdadero
Operador condicional
variable = boolean_expression? true_value: false_value
Esencialmente, el significado de este código es determinar qué valor para la variable variable en función del resultado de la evaluación del boolean_expression. Si el resultado de la evaluación es verdadero, asigne True_Value a la variable; Si el resultado de la evaluación es falso, asigne false_value a la variable variable.
Asignar operador
Un operador de asignación simple está representado por un signo igual, y su función es asignar el valor a la derecha a la variable a la izquierda.
Operador de comas
El operador de comas se usa principalmente para declarar múltiples variables; Pero además, el operador de coma también se usa para asignar valores. Cuando se usa para la asignación, el operador de coma siempre devuelve el último elemento en la expresión.