LoginSignup
15
13

More than 5 years have passed since last update.

IEで使えないjavascriptのconstの代替案

Posted at

会社のメンバーが「調子乗ってjsでconstとか使ったらIEで動かないんですよ。」とか言ってた。

ちなみにconstは変数と違って変更されることがない定数の宣言。constantの略だそうです。

MDN (const) に書かれている文章を読んでみると

現在の const の実装は Mozilla 特有の拡張であり、ECMAScript5 の一部ではありません。これは Firefox および Chrome (V8) でサポートされています。Safari 5.1.7 や Opera 12.00 では、const で宣言しても、後から値を変更することができます。 また、Internet Explorer 6-10 ではサポートされていません。 const キーワードは現在、関数スコープ内で(var で変数を宣言するように)定数を宣言します。

IE6-10は非対応。やっぱりお前かIE!

解決策

名前空間を作って汚染されないようにし、各jsファイルから定数を呼び出せるようにします。
browserifyで各jsファイルをまとめてmin化してしまうので、後で設定した値を直しやすいように定義ファイルは別に作る派です。

const.js

window.whizzy = window.whizzy || {};
window.whizzy.const = window.whizzy.const || {};

// HP URL
window.whizzy.const.HP_URL = 'http://www.whizzy.co.jp';

これでIEでもconst(的なもの)を利用できる。

15
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
13