Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

257
Visualizações
What do computed and optional mean in a JavaScript MemberExpression AST node?

I have a.x = b.y to be the AST node:

{
  "type": "ExpressionStatement",
  "start": 122,
  "end": 131,
  "expression": {
    "type": "AssignmentExpression",
    "start": 122,
    "end": 131,
    "operator": "=",
    "left": {
      "type": "MemberExpression",
      "start": 122,
      "end": 125,
      "object": {
        "type": "Identifier",
        "start": 122,
        "end": 123,
        "name": "a"
      },
      "property": {
        "type": "Identifier",
        "start": 124,
        "end": 125,
        "name": "x"
      },
      "computed": false,
      "optional": false
    },
    "right": {
      "type": "MemberExpression",
      "start": 128,
      "end": 131,
      "object": {
        "type": "Identifier",
        "start": 128,
        "end": 129,
        "name": "b"
      },
      "property": {
        "type": "Identifier",
        "start": 130,
        "end": 131,
        "name": "y"
      },
      "computed": false,
      "optional": false
    }
  }
}

What does computed and optional mean? What are some examples?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

This is what a.b[c.d[e].f].g looks like:

{
  "type": "Program",
  "body": [
    {
      "type": "MemberExpression",
      "object": {
        "type": "MemberExpression",
        "object": {
          "type": "MemberExpression",
          "object": {
            "type": "Identifier",
            "start": 1,
            "end": 2,
            "name": "a"
          },
          "property": {
            "type": "Identifier",
            "start": 3,
            "end": 4,
            "name": "b"
          },
          "computed": false
        },
        "property": {
          "type": "MemberExpression",
          "object": {
            "type": "MemberExpression",
            "object": {
              "type": "MemberExpression",
              "object": {
                "type": "Identifier",
                "start": 5,
                "end": 6,
                "name": "c"
              },
              "property": {
                "type": "Identifier",
                "start": 7,
                "end": 8,
                "name": "d"
              },
              "computed": false
            },
            "property": {
              "type": "Identifier",
              "start": 9,
              "end": 10,
              "name": "e"
            },
            "computed": true
          },
          "property": {
            "type": "Identifier",
            "start": 12,
            "end": 13,
            "name": "f"
          },
          "computed": false
        },
        "computed": true
      },
      "property": {
        "type": "Identifier",
        "start": 15,
        "end": 16,
        "name": "g"
      },
      "computed": false
    }
  ]
}

The computed is for object[property].

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda