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

構文

wm.set(key, value);

引数

key
必須です。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 完全対応 ありnodejs 完全対応 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)。

関連項目

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, segayuu, YuichiNukiyama, shide55
最終更新者: mdnwebdocs-bot,