Manual de referencia de operadores de JavaScript

Los operadores de JavaScript se utilizan para asignación, comparación de valores, ejecución de operaciones aritméticas, etc.

Vea también:

Tutoriales:Operadores de JavaScript

Tutoriales:Prioridad de operadores de JavaScript

operadores aritméticos de JavaScript

Los operadores aritméticos se utilizan para realizar operaciones aritméticas entre variables y/u valores.

Dado y = 5,la siguiente tabla explica los operadores aritméticos:

Operadores Descripción Ejemplo el resultado en y el resultado en x Inténtalo
+ adición x = y + 2 y = 5 x = 7 Inténtalo
- resta x = y - 2 y = 5 x = 3 Inténtalo
* multiplicación x = y * 2 y = 5 x = 10 Inténtalo
/ división x = y / 2 y = 5 x = 2.5 Inténtalo
% módulo (resto de la división) x = y % 2 y = 5 x = 1 Inténtalo
++ acumulación x = ++y y = 6 x = 6 Inténtalo
x = y++ y = 6 x = 5 Inténtalo
-- decremento x = --y y = 4 x = 4 Inténtalo
x = y-- y = 4 x = 5 Inténtalo

Para obtener información sobre los operadores aritméticos, lea nuestra Tutoriales de operaciones aritméticas de JavaScript.

operadores de asignación de JavaScript

Los operadores de asignación se utilizan para asignar valores a variables de JavaScript.

Dado x = 10 y y = 5,la siguiente tabla explica los operadores de asignación:

Operadores Ejemplo Es equivalente a el resultado en x Inténtalo
= x = y x = y x = 5 Inténtalo
+= x += y x = x + y x = 15 Inténtalo
-= x -= y x = x - y x = 5 Inténtalo
*= x *= y x = x * y x = 50 Inténtalo
/= x /= y x = x / y x = 2 Inténtalo
%= x %= y x = x % y x = 0 Inténtalo

Para obtener información sobre los operadores de asignación, lea nuestra Tutoriales de asignación de JavaScript.

operadores de cadena de JavaScript

operadores + y += también se pueden usar para conectar (agregar) cadenas.

Dado text1 = "Buenos "text2 = "Morning",así como text3 = "",la siguiente tabla explica este operador:

Operadores Ejemplo text1 text2 text3 Inténtalo
+ text3 = text1 + text2 "Buenos " "Morning" "Buenos días" Inténtalo
+= text1 += text2 "Buenos días" "Morning" "" Inténtalo

operadores de comparación

Utilice los operadores de comparación en la declaración lógica para determinar la igualdad o diferencia entre variables o valores.

Dado x = 5,la siguiente tabla explica los operadores de comparación:

Operadores Descripción comparar devolver Inténtalo
== igual x == 8 falso Inténtalo
x == 5 verdadero Inténtalo
=== valores y tipos iguales x === "5" falso Inténtalo
x === 5 verdadero Inténtalo
!= diferente x != 8 verdadero Inténtalo
!== Valores o tipos no iguales x !== "5" verdadero Inténtalo
x !== 5 falso Inténtalo
> Mayor que x > 8 falso Inténtalo
< Menor que x < 8 verdadero Inténtalo
>= Mayor o igual que x >= 8 falso Inténtalo
<= Menor o igual que x <= 8 verdadero Inténtalo

Para obtener conocimientos sobre operadores de comparación, lea nuestro Tutoriales de comparación de JavaScript.

Operador condicional (ternario)

El operador condicional asigna un valor a una variable según la condición.

sintaxis

variablename = (condition) ? value1:value2

Ejemplo

voteable = (age < 18) ? "Too young":"Old enough";

Prueba por ti mismo

Explicación del ejemplo:

Si el valor de la variable "age" es menor de 18, el valor de la variable "voteable" será "Too young", de lo contrario, el valor de "voteable" será "Old enough".

Operadores lógicos

Los operadores lógicos se utilizan para determinar la lógica entre variables o valores.

Dado x = 6 y y = 3La siguiente tabla explica los operadores lógicos:

Operadores Descripción Ejemplo Inténtalo
&& y (x < 10 && y > 1) es verdadero Inténtalo
|| o (x === 5 || y === 5) es falso Inténtalo
! no !(x === y) es verdadero Inténtalo

Operadores de bits de JavaScript

Los operadores de bits pueden manejar números de 32 bits. Cualquier operando numérico en esta operación se convertirá a un número de 32 bits. El resultado se convertirá de nuevo a un número de JavaScript.

Operadores Descripción Ejemplo Es equivalente a Resultados Decimal
& AND x = 5 & 1 0101 & 0001 0001 1
| OR x = 5 | 1 0101 | 0001 0101 5
~ NOT x = ~5 ~0101 1010 10
^ XOR x = 5 ^ 1 0101 ^ 0100 4
<< Desplazamiento a la izquierda x = 5 << 1 0101 << 1 1010 10
>> Desplazamiento a la derecha x = 5 >> 1 0101 >> 1 0010 2

El ejemplo anterior utiliza un ejemplo de 4 bits sin signo. Pero JavaScript utiliza números de 32 bits con signo.

Por lo tanto, en JavaScript, ~5 no devuelve 10, sino -6.

~00000000000000000000000000000101 devolverá 11111111111111111111111111111010

El operador typeof

typeof El operador devuelve el tipo de variable, objeto, función o expresión:

Ejemplo

typeof "Bill"                 // Devuelve string
typeof 3.14                   // Devuelve number
typeof NaN                    // Devuelve number
typeof false                  // Devuelve boolean
typeof [1, 2, 3, 4]           // Devuelve object
typeof {name:'Bill', age:19}  // Devuelve object
typeof new Date()             // Devuelve object
typeof function () {}         // Devuelve function
typeof myCar                  // Devuelve undefined (si no se ha declarado myCar)
typeof null                   // Devuelve object

Prueba por ti mismo

Atención:

  • El tipo de dato de NaN es number
  • El tipo de dato de un array es object
  • El tipo de dato de una fecha es object
  • El tipo de dato de null es object
  • El tipo de dato de una variable no definida es undefined

No se puede usar typeof para definir si un objeto JavaScript es un array (o una fecha).

No se puede usar typeof para definir si un objeto JavaScript es un array (o una fecha).

El operador delete

delete El operador elimina propiedades de un objeto:

Ejemplo

var person = {firstName:"Bill", lastName:"Gates", age:19, eyeColor:"blue"};
delete person.age;   // Eliminar person["age"];

Prueba por ti mismo

El operador delete elimina tanto el valor de la propiedad como la propiedad en sí.

No se puede usar la propiedad después de que se elimine y se vuelva a agregar.

El operador delete se utiliza para propiedades de objetos. No tiene efecto en variables o funciones.

注释:不应在预定义的 JavaScript 对象属性上使用 delete 运算符。这样做可能会使您的应用程序崩溃。

in 运算符

如果指定的属性在指定的对象中,则 in 运算符将返回 true,否则返回 false:

Ejemplo

// 数组
var cars = ["Saab", "Volvo", "BMW"];
"Saab" in cars          // 返回 false(指定索引号而不是值)
0 in cars               // 返回 true
1 in cars               // 返回 true
4 in cars               // 返回 false(不存在)
"length" in cars        // 返回 true(length 是数组属性)
// 对象
var person = {firstName:"Bill", lastName:"Gates", age:19};
"firstName" in person   // 返回 true
"age" in person         // 返回 true
// 预定义对象
"PI" in Math            // 返回 true
"NaN" in Number         // 返回 true
"length" in String      // 返回 true

Prueba por ti mismo

instanceof 运算符

如果指定对象是指定对象的实例,则 instanceof 运算符返回 true:

Ejemplo

var cars = ["Saab", "Volvo", "BMW"];
cars instanceof Array;          // 返回 true
cars instanceof Object;         // 返回 true
cars instanceof String;         // 返回 false
cars instanceof Number;         // 返回 false

Prueba por ti mismo

void 运算符

void 运算符计算一个表达式并返回 undefined。此运算符通常用于使用 "void(0)" 来获取未定义的原始值(在计算表达式而不使用返回值时非常有用)。

Ejemplo

<a href="javascript:void(0);">
  Enlace inútil
</a>
<a href="javascript:void(document.body.style.backgroundColor='red');">
  Haga clic aquí para cambiar el color de fondo del body a rojo
</a>

Prueba por ti mismo