Opérateur unary
Un opérateur qui ne peut fonctionner qu'une seule valeur est appelé un opérateur unaire.
L'opérateur unaire est l'opérateur le plus simple d'ECMAScript.
1. Incrément et diminuer les opérateurs
L'incrément et les opérateurs décroissants empruntent directement à C, et chacun a deux versions: le pré-type et le post-type. Gu Mingsi a déclaré que le pré-type devrait céder la place à la variable à utiliser, tandis que le post-type doit être suivi de la variable à utiliser.
Type avant:
var num1 = 1; var num2 = 2; var num3 = ++ num1 + num2; // 4
Type arrière:
var num1 = 1; var num2 = 2; var num3 = num1 ++ + num2; // 3
Les deux codes ci-dessus ont des résultats différents, car il existe une différence très importante entre le post-incitation et la pré-incitation et la diminution, c'est-à-dire que les opérations post-incidence et décroissantes sont effectuées après que l'instruction contenant est évaluée.
Portée de l'application:
Pré-INCRÉMENT ET POST-INCRÉMENT Les quatre opérateurs s'appliquent à n'importe quelle valeur. Lorsqu'elle est appliquée à différentes valeurs, cet opérateur convertit la valeur comme la fonction de transformation Number () et ajoute et soustrait 1 après la conversion.
2. Opérateurs d'addition et de soustraction unidirectionnels
L'opérateur d'addition et de soustraction unaire est principalement utilisé pour les opérations arithmétiques de base, et peut également être utilisé pour convertir les types de données (l'opérateur convertit cette valeur comme la fonction de transformation numéro ()).
Booléen
Il y a trois opérateurs booléens: non (pas), et (et), ou (ou).
1. Logique non logique
Le non-opérateur logique est représenté par une marque d'exclamation (!) Et peut être appliqué à n'importe quelle valeur dans ECMAScript. Quel que soit le type de données que cette valeur est, cet opérateur renvoie une valeur booléenne.
L'utilisation de deux non-opérateurs logiques en même temps simulera en fait le comportement de la fonction de transformation booléenne ()
2. Logique et
La logique et les opérateurs sont représentés par deux sommes (&&), et il y a deux opérandes et peut être appliquée à tout type d'opérande. Fonctionnement logique et court-circuit, c'est-à-dire si le premier opérande est évalué comme faux, le deuxième opérande ne sera pas évalué.
Lorsque les deux valeurs sont vraies, le résultat est vrai. Lorsque deux valeurs sont vraies et fausses, le résultat est faux. Retourne Faux lorsque les deux valeurs sont fausses.
Lorsque l'une des valeurs n'est pas un booléen: suivez les règles suivantes
Le premier opérande est faux et le premier est retourné;
Lorsque le premier opérande est vrai, le second est retourné.
Si le premier opérande est un objet, le deuxième opérande est retourné
var a = {b: 1}; a && 'ss' // "ss"Si le deuxième opérande est un objet, l'objet ne sera retourné que si le résultat d'évaluation du premier opérande est vrai
'ss' && a // objet {b: 1}Si les deux opérandes sont des objets, le deuxième opérande est retourné
var c = {d: 2}; c && a // objet {b: 1}(1) Si un opérande est nul, retournez null
(2) S'il y a un opérande nan, alors nan est retourné
(3) Si un opérande n'est pas défini, retourne non définie
3. Logique ou
Semblable à la logique et aux opérateurs, la logique ou les opérateurs sont également des opérateurs de court-circuit. C'est-à-dire que si le résultat d'évaluation du premier opérande est vrai, l'évaluation du deuxième opérande ne sera pas effectuée.
(1) le premier opérande est vrai, renvoyez le premier
(2) le premier opérande est faux, renvoyez le second
Opérateur de multiplication
Ecmascript définit 3 opérateurs de multiplication: multiplication, division et modulaire
Infinity * 0 // Nan0 / 0 // Naninfinity / Infinity // Nan
Additif
1. Addition (tournure de virage)
Les deux opérateurs sont des valeurs numériques
Effectuer des calculs d'ajout réguliers.
Infinity + -infinity // nan
Si un opérande est une chaîne
Si les deux opérateurs sont des cordes, le deuxième opérateur est épissé avec le premier opérateur
Si un seul opérateur est une chaîne, convertissez l'autre opérande en une chaîne, puis épissez les deux chaînes ensemble.
Si cet opérande est un objet, numérique ou booléen, appelez leur méthode toString () pour obtenir la valeur de chaîne correspondante, puis appliquez les règles précédentes sur les chaînes. Pour null et non défini, la fonction String () est appelée et les chaînes "non définies" et "null" sont obtenues respectivement.
2 + '' // "2"
2. Soustraction (retour à la valeur)
Si les deux opérandes sont numériques
Effectuez une opération de soustraction arithmétique ordinaire et renvoyez le résultat. Si un opérande est nan, le résultat est nan
Infinity - Infinity // Nan
S'il y a un opérande qui n'est pas une valeur numérique
Si un opérande est une chaîne, une fonction booléenne, nul ou non définie, la fonction nombre () est appelée en arrière-plan pour la convertir en valeur numérique, puis effectuer le calcul de soustraction selon les règles précédentes. Si le résultat de la conversion est NAN, le résultat de la soustraction est NAN.
Si un opérande est un objet, la méthode de valeur de () de l'objet est appelée pour obtenir la valeur représentant l'objet. Si la valeur obtenue est NAN, le résultat de la soustraction est NAN. Si l'objet n'a pas de méthode de valeur de (), sa méthode toString () est appelée et la chaîne résultante est convertie en valeur numérique.
5 - Vrai // 4
Opérateurs relationnels
Si les deux opérandes sont des valeurs numériques, effectuez une comparaison numérique
Si les deux opérandes sont des chaînes, comparez les valeurs de codage de caractère correspondant aux deux chaînes
Si un opérande est une valeur numérique, convertissez un autre opérande en une valeur numérique et effectuez une comparaison numérique
var result = '23' <'3' // truevar result = '23' <3 // false
Opérateur égal
1. Égalité et inégale
Convertir d'abord puis comparer
(1) Si un opérande est une valeur booléenne, convertissez-la en valeur numérique avant de comparer l'égalité
(2) S'il y a un opérande qui est une chaîne et qu'un autre opérande est une valeur numérique, convertissez-la en d'abord une valeur numérique
(3) Si un opérande est un objet et l'autre ne l'est pas, alors la valeur de la valeur () de l'objet est appelée et la valeur de type de base obtenue est comparée en fonction des règles de base précédentes.
nul et indéfini sont égaux
Vous ne pouvez pas convertir null et indéfini en toute autre valeur avant de comparer l'égalité
Si les deux opérandes sont NAN, l'opérateur égal renvoie également faux. Selon la règle, Nan n'est pas égal à Nan
2. CONGRUENT et incomplet
Comparez seulement, pas convertir
"55"! == 55 // Vrai
Opérateur conditionnel
variable = boolean_expression? true_value: false_value
Essentiellement, la signification de ce code est de déterminer la valeur de la variable de la variable en fonction du résultat de l'évaluation de la booléan_expression. Si le résultat de l'évaluation est vrai, attribuez True_Value à la variable; Si le résultat de l'évaluation est faux, affectez False_value à la variable variable.
Affecter l'opérateur
Un opérateur d'attribution simple est représenté par un signe égal, et sa fonction est d'attribuer la valeur à droite à la variable à gauche.
Opérateur de virgule
L'opérateur de virgule est principalement utilisé pour déclarer plusieurs variables; Mais en outre, l'opérateur de virgule est également utilisé pour attribuer des valeurs. Lorsqu'il est utilisé pour l'attribution, l'opérateur de virgule renvoie toujours le dernier élément de l'expression.