O encadeamento opcional ( obj?.param1?.param2
) parece ser um ótimo recurso e eu realmente queria vê-lo implementado e, finalmente, livrar-se de ifs aninhados, funções arbitrárias e o que não é uma operação tão simples.
Mas há um problema, não funciona. Atualizei para o nó 12 e ainda recebo um erro:
var dude = res?.param?.params[0]
SyntaxError: Unexpected token '.'
ou
var dude = res.param?.params[0]
SyntaxError: Unexpected token '.'
Qual é o problema?
Preciso alterar alguma configuração de idioma ou baixar uma biblioteca para ativar esse recurso? Ou simplesmente não saiu ainda?
javascript
node.js
almarc
fonte
fonte
Stage 4
. O Node.js ainda não suporta isso. developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/…Respostas:
No momento, o encadeamento opcional não é suportado na
Node.js
versão 13 e, abaixo, será suportado naNode.js
versão 14 e na maioria dos navegadores à medida que é movidoStage 4
. Atualmente, poucas plataformas o suportam. Você pode encontrar a lista de plataformas que suportam encadeamento opcional no link fornecido . Você pode ativar opcional usando o--harmony
sinalizador.fonte
As especificações para o recurso de encadeamento opcional foram promovidas para o Estágio 4 (Concluído) em 22 de dezembro de 2019 . O nó 12 saiu antes da especificação final - e o nó 13 também.
De acordo com node.green , o encadeamento opcional será suportado a partir do Nó 14, mas ainda exigirá o
--harmony
sinalizador. (Isso parece estar em conflito com a descrição da--harmony
bandeira do Node - os recursos de remessa do V8 não devem exigir a bandeira - então não tenho certeza do que fazer com isso.) Ainda assim, se precisa ou não de uma bandeira, eu não faria ' esperamos ver o recurso até o lançamento do Nó 14, por volta de abril de 2020 .Se você deseja jogar com encadeamento opcional hoje, sua melhor aposta é usar o TypeScript (que adicionou encadeamento opcional na versão 3.7 ) ou um pré-processador como o Babel .
fonte
Consegui usar o nodejs v13.7.0 com o sinalizador --harmony.
fonte
O encadeamento opcional será implementado com a
Node.js
v14, que será lançada em 20/04/2020. Até agora, você pode usarBabel
com@babel/plugin-proposal-optional-chaining
.fonte