問題タブ [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.
javascript - 式リテラルによって作成された正規表現は単一のインスタンスを共有しますか?
次のコード スニペット (Crockford のJavascript: The Good Partsから) は、正規表現リテラルによって作成された RegExp オブジェクトが単一のインスタンスを共有することを示しています。
質問: これは他のリテラルでも同じですか? 上記のコードを文字列"string"
で動作するように変更しようとしましたが、大量のエラーが発生しました。
javascript - TSC: --target ES3 互換性フラグは何をしますか?
typescript npm パッケージをインストールしました:
そして走った
どこdoodle.ts
にある:
output で同じことをエコー バックしましたdoodle.js
。
出力でそれを構成する方法は、次のようになります。
-t ES3
フラグはそのような互換性の側面を処理するべきではありませんか?
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 ブラウザで動作しないのはなぜですか?
javascript - ES5 より前にプロトタイプなしでオブジェクトを作成する方法はありましたか?
ES5 より前にプロトタイプなしでオブジェクトを作成する方法はありましたか?
つまり、Object.create(null)
(ES5)のようなもの
私はこのようなものがうまくいくかもしれないと思っていましたが、最後のステートメントは予期せず戻りますtrue
:
Object.getPrototypeOf
ES5です。ここで説明のために使用します。
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 トランスパイラーにアクセスして、実行時にステップを完了することはできますか?
javascript - ES5で変数オブジェクトがレキシカル環境に変更されたのはなぜですか?
ES5では、変数オブジェクト(VO) がレキシカル環境に変更されました。VO は知覚としてすでに非常に明白であるため、このような変更の動機は何ですか?