WeakMap.prototype.set()

set() メソッドは、指定されたキーと値をもつ新しい要素を WeakMap オブジェクトへ追加します。

構文

wm.set(key, value);

引数

key
必須です。 object である必要があります。 WeakMap オブジェクトに追加する要素のキーです。
value
必須です。任意の値です。 WeakMap オブジェクトに追加する要素の値です。

返値

WeakMap オブジェクトです。

set メソッドの使用

var wm = new WeakMap();
var obj = {};

// Add new elements to the WeakMap
wm.set(obj, 'foo').set(window, 'bar'); // chainable

// Update an element in the WeakMap
wm.set(obj, 'baz');

仕様書

仕様書 状態 備考
ECMAScript 2015 (6th Edition, ECMA-262)
WeakMap.prototype.set の定義
標準 初回定義
ECMAScript Latest Draft (ECMA-262)
WeakMap.prototype.set の定義
ドラフト

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
setChrome 完全対応 36Edge 完全対応 12Firefox 完全対応 6
補足
完全対応 6
補足
補足 Prior to Firefox 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.
IE 部分対応 11
補足
部分対応 11
補足
補足 Returns 'undefined' instead of the 'Map' object.
Opera 完全対応 23Safari 完全対応 8WebView Android 完全対応 37Chrome Android 完全対応 36Firefox Android 完全対応 6
補足
完全対応 6
補足
補足 Prior to Firefox 38, this method threw a TypeError when the key parameter was not an object. This has been fixed in version 38 and later to return false as per the ES2015 standard.
Opera Android 完全対応 24Safari iOS 完全対応 8Samsung Internet Android 完全対応 3.0nodejs 完全対応 0.12
完全対応 0.12
完全対応 0.10
無効
無効 From version 0.10: this feature is behind the --harmony runtime flag.

凡例

完全対応  
完全対応
部分対応  
部分対応
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

Firefox 固有のメモ

  • Firefox 33 (Firefox 33 / Thunderbird 33 / SeaMonkey 2.30) 以前では、 WeakMap.prototype.setundefined を返し、チェーン可能ではありませんでした。これは (バグ 1031632) で修正されました。この動作は、 Chrome/v8 にも同様に見られました (issue)。

関連情報