--- title: WeakMap.prototype.set() slug: Web/JavaScript/Reference/Global_Objects/WeakMap/set translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap/set --- <div>{{JSRef}}</div> <p>O método <strong><code>set()</code></strong> adiciona um novo elemento com a <code>chave</code> e o <code>valor</code> especificados em um objeto <code>WeakMap</code>.</p> <div>{{EmbedInteractiveExample("pages/js/weakmap-prototype-set.html")}}</div> <h2 id="Sintaxe">Sintaxe</h2> <pre class="syntaxbox"><code><em>wm</em>.set(chave, valor);</code></pre> <h3 id="Parâmetros">Parâmetros</h3> <dl> <dt>chave</dt> <dd>Obrigatório. A chave do elemento a ser adicionado no objeto <code>WeakMap</code>.</dd> <dt>valor</dt> <dd>Obrigatório. O valor do elemento a ser adicionado no objeto <code>WeakMap</code>.</dd> </dl> <h3 id="Valor_de_retorno">Valor de retorno</h3> <p>O objeto <code>WeakMap</code>.</p> <h2 id="Exemplos">Exemplos</h2> <h3 id="Utilizando_o_método_set">Utilizando o método <code>set</code> </h3> <pre class="brush: js">var wm = new WeakMap(); var obj = {}; // Adicionar novos elementos ao WeakMap wm.set(obj, 'foo').set(window, 'bar'); // encadeável // Atualizar um elemento no WeakMap wm.set(obj, 'baz'); </pre> <h2 id="Especificações">Especificações</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Specification</th> <th scope="col">Status</th> <th scope="col">Comment</th> </tr> <tr> <td>{{SpecName('ES2015', '#sec-weakmap.prototype.set', 'WeakMap.prototype.set')}}</td> <td>{{Spec2('ES2015')}}</td> <td>Initial definition.</td> </tr> <tr> <td>{{SpecName('ESDraft', '#sec-weakmap.prototype.set', 'WeakMap.prototype.set')}}</td> <td>{{Spec2('ESDraft')}}</td> <td> </td> </tr> </tbody> </table> <h2 id="Browser_compatibility">Compatibilidade com navegadores</h2> <p>{{Compat("javascript.builtins.WeakMap.set")}}</p> <h2 id="Notas_específicas_ao_Firefox">Notas específicas ao Firefox</h2> <ul> <li>Antes do Firefox 33 {{geckoRelease("33")}}, <code>WeakMap.prototype.set</code> retornava <code>undefined</code> e, portanto, não era encadeável. Isso foi resolvido ({{bug(1031632)}}). O comportamento também podia ser encontrado no Chrome/v8 (<a href="https://code.google.com/p/v8/issues/detail?id=3410">issue</a>).</li> </ul> <h2 id="Ver_também">Ver também</h2> <ul> <li>{{jsxref("WeakMap")}}</li> <li>{{jsxref("WeakMap.prototype.get()")}}</li> <li>{{jsxref("WeakMap.prototype.has()")}}</li> </ul>