2017-09-06 7 views
0

eval()はメソッドで厳密なモードで実行されますか?eval()はメソッドで厳密なモードで実行されますか?

class A { b() {eval("with(this) { 1 } ")} } 
new A().b() 
// strict mode error 

機能ではありませんか?

function b() {eval("with(this) { 1 }")} 
b() 
> 1 
+0

確かに 'eval'が実行されます。しかし、そこには「〜」は許されていません。実際にエラーメッセージを見ましたか? – Bergi

答えて

1

これは明示的にドキュメントMDNES2017に記載されています。クラス宣言とクラス表現の

体は 厳密なモード、すなわちコンストラクタ、静的およびプロトタイプメソッド、ゲッターと セッター関数が厳密モードで実行されて実行されます。

関連する問題