CARVIEW |
Select Language
HTTP/2 200
content-type: text/html
x-guploader-uploadid: AAwnv3Jd30Rc3WMGM90ppi5FFuAZ-twhSD8VX7jFhMRvS4008K84XDrhCHj57xHmX4tVcPUT_TEP9P8
cache-control: public, max-age=3600
expires: Wed, 08 Oct 2025 08:08:07 GMT
last-modified: Wed, 08 Oct 2025 01:14:02 GMT
etag: W/"26312c4cb1e4a53917dfb39b4c8c6d4e"
x-goog-generation: 1759886042204873
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 165171
x-goog-meta-goog-reserved-file-mtime: 1759884301
x-goog-hash: crc32c=/oXo9Q==, md5=JjEsTLHkpTkX37ObTIxtTg==
x-goog-storage-class: STANDARD
accept-ranges: none
alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
alt-svc: clear
referrer-policy: strict-origin-when-cross-origin
x-content-type-options: nosniff
strict-transport-security: max-age=63072000
content-security-policy: default-src 'self'; script-src 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; script-src-elem 'report-sample' 'self' 'wasm-unsafe-eval' https://www.google-analytics.com/analytics.js https://www.googletagmanager.com/gtag/js assets.codepen.io production-assets.codepen.io https://js.stripe.com 'sha256-XNBp89FG76amD8BqrJzyflxOF9PaWPqPqvJfKZPCv7M=' 'sha256-YCNoU9DNiinACbd8n6UPyB/8vj0kXvhkOni9/06SuYw=' 'sha256-PZjP7OR6mBEtnvXIZfCZ5PuOlxoDF1LDZL8aj8c42rw='; style-src 'report-sample' 'self' 'unsafe-inline'; object-src 'none'; base-uri 'self'; connect-src 'self' developer.allizom.org bcd.developer.allizom.org bcd.developer.mozilla.org updates.developer.allizom.org updates.developer.mozilla.org https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://incoming.telemetry.mozilla.org https://observatory-api.mdn.allizom.net https://observatory-api.mdn.mozilla.net https://api.github.com/search/issues stats.g.doubleclick.net https://api.stripe.com; font-src 'self'; frame-src 'self' interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net mdn.github.io live-samples.mdn.mozilla.net live-samples.mdn.allizom.net *.mdnplay.dev *.mdnyalp.dev *.play.test.mdn.allizom.net https://v2.scrimba.com https://scrimba.com jsfiddle.net www.youtube-nocookie.com codepen.io survey.alchemer.com https://js.stripe.com; img-src 'self' data: *.githubusercontent.com *.googleusercontent.com *.gravatar.com mozillausercontent.com firefoxusercontent.com profile.stage.mozaws.net profile.accounts.firefox.com developer.mozilla.org mdn.dev interactive-examples.mdn.mozilla.net interactive-examples.mdn.allizom.net wikipedia.org upload.wikimedia.org https://mdn.github.io/shared-assets/ https://mdn.dev/ https://*.google-analytics.com https://*.googletagmanager.com www.gstatic.com; manifest-src 'self'; media-src 'self' archive.org videos.cdn.mozilla.net https://mdn.github.io/shared-assets/; child-src 'self'; worker-src 'self';
x-frame-options: DENY
origin-trial: AxVILwizhbMjxFeHOn1P3R8niO1RJY/smaK4B4d1rLzc1gTaxtXMSaTi+FoigYgCw40uFRDwFcEAeqDR+vVLOW4AAABfeyJvcmlnaW4iOiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZyIsImZlYXR1cmUiOiJQcml2YXRlQXR0cmlidXRpb25WMiIsImV4cGlyeSI6MTc0MjA3OTYwMH0=
x-cloud-trace-context: 268e4bf6807a4f2a8dc76e2f807592f7
date: Wed, 08 Oct 2025 07:08:08 GMT
server: Google Frontend
via: 1.1 google
vary: Accept-Encoding
content-encoding: gzip
x-cache: miss
Symbol() コンストラクター - JavaScript | MDN
Toggle sidebar
>
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
Symbol() コンストラクター
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年9月.
Symbol()
関数は、シンボル型のプリミティブ値を返します。
試してみましょう
const symbol1 = Symbol();
const symbol2 = Symbol(42);
const symbol3 = Symbol("foo");
console.log(typeof symbol1);
// Expected output: "symbol"
console.log(symbol2 === 42);
// Expected output: false
console.log(symbol3.toString());
// Expected output: "Symbol(foo)"
console.log(Symbol("foo") === Symbol("foo"));
// Expected output: false
構文
js
Symbol()
Symbol(description)
引数
description
省略可-
文字列。デバッグには使用できるこのシンボルの説明ですが、シンボル自体にはアクセスできません。
例
>シンボルの作成
新しいプリミティブのシンボルを作成するには、解説にあるように Symbol()
を任意の文字列とともに書きます。
js
const sym1 = Symbol();
const sym2 = Symbol("foo");
const sym3 = Symbol("foo");
上記のコードは 3 つの新しいシンボルを生成します。なお、Symbol("foo")
は "foo"
という文字列をシンボルに変換するわけではないことに注意してください。毎回新しいシンボルを生成します。
js
Symbol("foo") === Symbol("foo"); // false
new Symbol()
以下のように new
演算子を伴う構文では、 TypeError
が発生します。
js
const sym = new Symbol(); // TypeError
一般的に他のプリミティブデータ型は明示的なラッパーオブジェクトを作成することは可能ですが(例えば、 new Boolean
, new String
, new Number
)、新しいシンボル値の代わりに明示的に Symbol
ラッパーオブジェクトを作成することはできません。
本当に Symbol
のラッパーオブジェクトを生成したい場合は、 Object()
関数を使用することができます。
js
const sym = Symbol("foo");
const symObj = Object(sym);
typeof sym; // "symbol"
typeof symObj; // "object"
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-symbol-constructor> |
ブラウザーの互換性
Loading…