Skip to content

Commit

Permalink
Question 62
Browse files Browse the repository at this point in the history
  • Loading branch information
emanoellucasml committed Jan 20, 2020
1 parent a643248 commit bc1a4bb
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion pt-BR/README_pt_BR.md
Original file line number Diff line number Diff line change
Expand Up @@ -1875,9 +1875,42 @@ console.log(Object.keys(person));
#### Resposta: B
Com o método `defineProperty`, podemos adicionar novas propriedades a um objeto ou modificar propriedades já existentes. Quando adicionamos uma propriedade a um objeto usando o método `defineProperty`, ela é, por padrão, _não enumerável_. O método`Object.keys` retorna todos os nomes de uma propriedade _enumerável_ de um objeto. Nesse caso, apenas `"name"`.

Propriedades adicionadas usando o método `defineProperty` são imutáveis por padrão. Você pode sobrescrever esse comportamento usando as propriedade `writable`, `configurable` e `enumerable`.
Propriedades adicionadas usando o método `defineProperty` são imutáveis por padrão. Você pode sobrepor esse comportamento usando as propriedade `writable`, `configurable` e `enumerable`.
Assim, o método `defineProperty` dá a você muito mais controle sobre as propriedades que você está adicionando a um objeto.
</p>
</details>

---

###### 62. Qual é a saída?

```javascript
const settings = {
username: "lydiahallie",
level: 19,
health: 90
};

const data = JSON.stringify(settings, ["level", "health"]);
console.log(data);
```

- A: `"{"level":19, "health":90}"`
- B: `"{"username": "lydiahallie"}"`
- C: `"["level", "health"]"`
- D: `"{"username": "lydiahallie", "level":19, "health":90}"`

<details><summary><b>Resposta</b></summary>
<p>

#### Answer: A

O segundo argumento de `JSON.stringify` é o _substituo_. O substituto pode ser uma função ou um array, e deixa você controlar o que deve ser "stringfied", isto é, ser usado pelo método `JSON.stringfy`.

Se o substituto (replacer) for um _array_, apenas os nomes de propriedades incluídos no array serão adicionados à string JSON. Nesse caso, apenas as propriedades com os nomes `"level"` ed `"health"` são incluída, `"username"` é excluída. `data` agora é igual a `"{"level":19, "health":90}"`.

Se o substituto (replacer) for uma _função_, essa função é chamada em c ada propriedade no objeto que está sendo "Stringfied". O valor retornado dessa função será o valor da propriedade quanto adicionado à string JSON. Se o valor for `undefined`, essa propriedade é excluída da string JSON.
</p>
</details>

---

0 comments on commit bc1a4bb

Please sign in to comment.