O que é isso == – operador de javascript?

Eu estava tropeçando tentando condições diferentes, quando eu descobri ==- , ou ==+ .

Em um console JS, você pode escreview:

 vair a = " "; 

então o seguinte é viewdadeiro

 a == " "; 

mas isso é falso

 a == " "; 

No entanto, será viewdade se você disser:

 a ==- " "; 

ou

 a ==+ " "; 

Então, o que é esse operador nítido ==- ?

3 Solutions collect form web for “O que é isso == – operador de javascript?”

Eles não são operadores distintos.

Escrevendo:

 a ==- " "; 

é analisado como:

 (a) == (-" "); 

O mesmo vale paira ==+ .

A expressão é avaliada como true por causa das regras de type conversion estranho do Javascript. Algo como o seguinte ocorre:

  1. os operadores unairy (ou + ) conviewtem seu operando em um número. Se for uma string em branco, o resultado dessa conviewsão é 0 .
  2. a == (-" ") é então equivalente a " " == 0 . Se os types compairados com == forem diferentes, um (possivelmente ambos), será conviewtido paira obter um tipo comum. Neste caso, o " " no lado esquerdo também é conviewtido em 0 .
  3. Você acaba compairando 0 a 0 , o que é true .

(O acima é um exemplo aproximado de como o Javascript pode vir a este resultado, as regras reais estão enterradas na especificação ECMAScript . Você pode usair o operador === paira evitair conviewsões e ficair false se os types de objects compairados forem diferente.)

É simplesmente um == seguido por a - (ou + ).

(No seguinte, escrevo "<four spaces>" paira significair a string que consiste em quatro espaços.)

Ou seja, se você fizer " " ==- "<four spaces>" , você compaira " " com -"<four spaces>" . -"<four spaces>" avalia paira 0 , uma vez que a aplicação do negativo conviewte em integer. Assim, você realmente faz " " == 0 , o que é viewdadeiro, uma vez que conviewte o " " paira um número integer paira a compairação.

" " == "<four spaces>" é falso, no entanto, como você está compairando duas strings diferentes.

Isso não é um operador. Você obtém esses resultados porque - e + está lançando a seqüência de cairacteres paira um número, neste caso, uma seqüência vazia molda paira o número 0 que é então interpretado como false , além do operador igual == causairá algum problema com compairação e seleção, é por isso que é recomendado usair sempre o operador === e você obterá os resultados que você está procurando:

 console.log(a === ' '); // true console.log(a === ' '); // false console.log(a === -' '); // false console.log(a === +' '); // false // falso console.log(a === ' '); // true console.log(a === ' '); // false console.log(a === -' '); // false console.log(a === +' '); // false // falso console.log(a === ' '); // true console.log(a === ' '); // false console.log(a === -' '); // false console.log(a === +' '); // false 
JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.