<症状>
初歩的な計算が破壊的な異常動作をします。
具体例を下記に
<問題を再現するための簡易コード>
<!DOCTYPE html><html> <head><meta charset="UTF-8"> <script> function readInput(iD) { return ( document.getElementById( iD ).value ) ; } function writeElm(iD, x) { document.getElementById( iD ).innerHTML = x ; } function test01( ) { var A = readInput( "Read01" ) ; var B = readInput( "Read02" ) ; if ( A > B ) writeElm( "write01", "A > B" ) else if ( A < B ) writeElm( "write01", "A < B" ) } </script> </head> <body> <h1>test</h1> A: <input id= "Read01" type=text > ... B: <input id= "Read02" type=text > <p></p> . . . please enter 11 in A . . . . . . . . . please enter 4 in B . . . . <p></p> <button onclick= "test01()" >ENTER</button> <p></p> <div id="write01" class="" ></div> </body> </html>
<この問題を発見した経緯>
自作のスクリプトが想像不可能なほどの異常動作をしているため
問題の根源がどこにあるのかを探索するために半日もかかってしまいました。
ありとあらゆる異常原因を手当たり次第に確かめたところ
病巣が javascript 本体にあるように思われました。
<質問の理由>
このようなプログラムの正常動作を脅かす基本的構造上の欠陥が確認されたとすれば
どなたかが ECMA などに通報していただけますでしょうか。
本質的な問題解決にあたっては、
変数名定義を他の言語と同じように型別に宣言することが不可欠と思われます。
const や let のような小手先の処理をするのではなく
var 定義を全面的に廃止して
int, real, string などを変数名の定義に用いることが必要と思われます。
よろしくお願いします。