O que é isso?
Esta é uma coleção de perguntas que surgem de vez em quando sobre a sintaxe em JavaScript. Este também é um Wiki da comunidade, então todos estão convidados a participar da manutenção desta lista.
Por que é isso?
Stack Overflow não permite a busca por caracteres específicos. Como consequência, muitas questões sobre operadores e outros tokens de sintaxe não são encontradas facilmente ao procurá-los. Isso também torna mais difícil o fechamento de duplicatas. A lista abaixo é para ajudar com este problema.
A ideia principal é ter links para perguntas existentes no Stack Overflow, para que seja mais fácil fazer referência a elas, e não copiar o conteúdo das especificações ECMAScript.
Além disso, esta é uma cópia flagrante da referência de símbolo do PHP . Precisávamos de um JS.
Por favor ajude. Edite e adicione links para outros operadores / referências de sintaxe ou, se você não conseguir encontrar boas perguntas / respostas sobre uma parte específica da sintaxe, adicione uma resposta a esta pergunta e vincule-a
fonte
|
operador. A versão PHP tem sido muito útil como ponto de partida para o fechamento de ingênuos.Respostas:
Consulte a documentação no MDN sobre expressões, operadores e instruções .
Palavras-chave básicas e expressões gerais
this
palavra-chave:var x = function()
vs.function x()
- sintaxe de declaração de função(function(){
…})()
- IIFE (Expressão de Função Imediatamente Invocada)(function(){…})();
funciona, masfunction(){…}();
não funciona?(function(){…})();
vs(function(){…}());
!function(){…}();
- O que o ponto de exclamação faz antes da função?+function(){…}();
- JavaScript mais sinal na frente da expressão de função!
vs ponto-e-vírgula à esquerda(function(window, undefined){…}(window));
someFunction()()
- Funções que retornam outras funções=>
- Sinal de igual, maior que: sintaxe da expressão da função seta|>
- Tubulação, maior que: Operador de tubulaçãofunction*
,yield
,yield*
- Star apósfunction
ouyield
: funções de gerador[]
,Array()
- colchetes: notação de matriz{key: value}
- Colchetes: sintaxe literal do objeto`
...${
...}
...`
- Backticks, sinal de dólar com chaves: literais modelo`…${…}…`
código dos documentos do nó?/
…/
- Barras: literais de expressão regular$
- Sinal de dólar em regex substituir padrões:$$
,$&
,$`
,$'
,$n
()
- Parênteses: operador de agrupamentoExpressões relacionadas a propriedades
obj.prop
,obj[prop]
,obj["prop"]
- Os colchetes ou dot: os assessores da propriedade?.
,?.[]
,?.()
- Ponto de interrogação, ponto: operador de encadeamento opcional::
- Dois pontos duplos: operador de ligaçãonew
operador...iter
- Três pontos: sintaxe de propagação; parâmetros de descanso(...args) => {}
- Qual é o significado de “… args” (três pontos) na definição de uma função?[...iter]
- recurso de matriz javascript es6 [... dados, 0] “operador de propagação”{...props}
- Propriedade Javascript com três pontos (...)Incremento e decremento
++
,--
- Duplo mais ou menos: operadores pré- / pós-incremento / -decremento++someVariable
vssomeVariable++
em JavascriptOperadores unários e binários (aritméticos, lógicos, bit a bit)
delete
operadorvoid
operador+
,-
- Mais e menos: operadores de adição ou concatenação e subtração; operadores de signos unários|
,&
,^
,~
- tubo único, comercial, circunflexo, til: bit a bit OR, AND, XOR, e não para operadores de~1
igual-2
?&&
,||
,!
- duplas e comercial, tubulação dupla, ponto de exclamação: operadores lógicos??
- Ponto de interrogação duplo: operador de coalescência nula**
- Estrela dupla: operador de potência (exponenciação)x ** 2
é equivalente aMath.pow(x, 2)
Operadores de igualdade
==
,===
- Sinais de igualdade: operadores de igualdade!=
,!==
- Ponto de exclamação e sinais de igual: operadores de desigualdadeOperadores de bit shift
<<
,>>
,>>>
- Dois ou três suportes de ângulo: operadores de deslocamento bitOperador condicional
...
?
...:
... - Ponto de interrogação e dois pontos: condicional (ternário) operadorOperadores de atribuição
=
- Sinal de igual: operador de atribuição%=
- Porcentagem é igual a: atribuição de resto+=
- Mais é igual a: operador de atribuição de adição&&=
,||=
,??=
- duplas e comercial, tubulação, ou ponto de interrogação, seguido por sinal de igual: atribuições lógicas||=
(ou igual) em JavaScript?Destruição
Operador vírgula
,
- Operador vírgulaDeclarações
var
,let
,const
- variáveis DeclarandoRótulo
label:
- Dois pontos: rótulosfonte