WSHのJScriptで"use strict"は意味があるのか?
きのう書いたプログラムで、Windows Script HostのJScriptでしたが、プログラムの先頭に"use strict";を記載していました。
JavaScriptだったら、var宣言していない変数をいきなり使用すると "use strict" 宣言していれば、エラーとしてくれるはず。
そこで、ためしに昨日のプログラムで、var宣言しないで変数を試用してみました。
"use strict"; var sendData = function() { done = false; //var 宣言していない変数への代入 var httpObj = new ActiveXObject("MSXML2.XMLHTTP.6.0"); if (httpObj) { httpObj.open("get", "http://www.ほにゃらら.com", true); httpObj.onreadystatechange = function() { if (httpObj.readyState == 4 && httpObj.status == 200) { WScript.Echo(httpObj.responseText); done = true; } } httpObj.send(null); } } sendData(); //メインループ while (done !== true) { WScript.Sleep(100);
多分 "done = false" でエラーはくんじゃないかなぁと思ったところ…
エラーはかないでするーしました。
JScriptでは "use strict" 宣言はあまり意味がないようですね。