問題タブ [ecmascript-3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
81 参照

javascript - 式リテラルによって作成された正規表現は単一のインスタンスを共有しますか?

次のコード スニペット (Crockford のJavascript: The Good Partsから) は、正規表現リテラルによって作成された RegExp オブジェクトが単一のインスタンスを共有することを示しています。

質問: これは他のリテラルでも同じですか? 上記のコードを文字列"string"で動作するように変更しようとしましたが、大量のエラーが発生しました。

0 投票する
1 に答える
438 参照

javascript - TSC: --target ES3 互換性フラグは何をしますか?

typescript npm パッケージをインストールしました:

そして走った

どこdoodle.tsにある:

output で同じことをエコー バックしましたdoodle.js

出力でそれを構成する方法は、次のようになります。

-t ES3フラグはそのような互換性の側面を処理するべきではありませんか?

0 投票する
3 に答える
1693 参照

javascript - arguments.slice() は ES5 で動作するはずですか?

Crockford on Javascript - Act III: Function the Ultimateを 41 分 26 秒あたりで見ています。彼の画面上のコードは、私にエラーを引き起こすarguments.slice()方法で使用されています。

彼は次のように説明しています。

最初の引数は関数であり、必要ないため、最初の引数を除いて、最初に引数の配列を取得します。この場合、私は ES5 を使用していると仮定しているので、ひどい Array.prototype.apply()トリックはしていません。

問題は、実行すると次のarguments.slice()エラーが発生することです。

Uncaught TypeError: arguments.slice is not a function

私は間違いなくES5を搭載した最新のブラウザでテストしています! コードを機能させる唯一の方法は、「ひどい」トリックを使用することです(彼はそう呼んでいますArray.prototype.slice.apply(arguments, [1])[].slice.call(arguments, 1);.

彼はただ間違っていますか?彼のスライドにはタイプミスがありますか? arguments.slice()ES5 ブラウザで動作しないのはなぜですか?

0 投票する
1 に答える
430 参照

javascript - Object.defineProperty エラー

に相当するコードを見つける必要があります:

ECMA Javascript5 をサポートしていない古い js インタープリターを使用しているため、次のコードに切り替えようとしています。

しかし、うまくいきません。PS: 私の vValue は: vValue

0 投票する
2 に答える
1555 参照

javascript - ES5 より前にプロトタイプなしでオブジェクトを作成する方法はありましたか?

ES5 より前にプロトタイプなしでオブジェクトを作成する方法はありましたか?

つまり、Object.create(null)(ES5)のようなもの

私はこのようなものがうまくいくかもしれないと思っていましたが、最後のステートメントは予期せず戻りますtrue:

Object.getPrototypeOfES5です。ここで説明のために使用します。

0 投票する
2 に答える
2035 参照

visual-studio - TypeScript で異なる Javascript バージョンをターゲットにする

TypeScript は、さまざまなバージョンの Javascript をグローバルにターゲットにすることができます。ES3、ES5、または ES6 のトランスパイルを切り替えることができます。

IE をサポートする必要があるため、ES3 が最小公分母です。

ただし、優れたブラウザー (Chrome など) は既に ES6 をサポートしており、最適化された非常に小さな ES6 コードを実行できます。

したがって、同じ TypeScript ソースから、ES3 を IE に、ES6 を Chrome に提供したいと考えています。

  • TypeScript に複数の JS ファイルをトランスパイルさせる方法はあります*.es3*.es6? (理想的には VS 2015 で)

  • または、C# で TypeScript トランスパイラーにアクセスして、実行時にステップを完了することはできますか?

0 投票する
1 に答える
561 参照

javascript - Javascript の定数パターン

がリリースされるjavascript前に定数はどのように実装されましたか?ES5

私が知る限り、物も財産も言葉も物もなかったので、どうすれば変更できない独自の定数を作成できるのでしょget/setwritableconst?Object.freeze

たとえば、Math.PI

ここに画像の説明を入力

0 投票する
2 に答える
673 参照

javascript - ES5で変数オブジェクトがレキシカル環境に変更されたのはなぜですか?

ES5では、変数オブジェクト(VO) がレキシカル環境に変更されました。VO は知覚としてすでに非常に明白であるため、このような変更の動機は何ですか?