JSに関してかなり錆びていて、最近私が理解できない問題が発生したので、誰かが私にこのことを説明できることを願っています。交換後に「null」と尋ねる
var aList = {a:"aaa", b:"bbb", c:"ccc", d:null}
var aString = "a";
var anotherString = "d";
私は次のようにaStringのを交換する場合:
aString.replace(aString, aList[aString]);
予想通り、私は "AAA" を取得します。しかし、私が行う場合
anotherString.replace(anotherString, aList[anotherString]);
私は期待しているようにnullの代わりにnullになります。どうしてこれなの?
編集:私は実際にオブジェクトのnull値を忘れていたことに気付きました。申し訳ありません。私は朝早くにそれを非難します:)
最後の置き換えは文字列 '' ddd "'になります。より一般的には、文字列の置換は常に 'null'ではなく文字列でなければなりません。 – nnnnnn
http://jsbin.com/lubedec/1/edit?js,console - なぜそれが 'null'と期待されるのか分かりませんが、' 'null ''ではありません。 – Quentin
はい、結果は '' ddd ''であり、' 'null'や' 'null' 'ではありません。 – MrFabio