は、私は、次のイベントハンドラを持っていると仮定しますこれらの未定義の変数がJavaScriptと等しくないのはなぜですか?
function handleCsvDump(e) {
console.log(e.currentTarget.getAttribute('download'));
e.currentTarget.download = undefined;
console.log(e.currentTarget.getAttribute('download'));
console.log(e.currentTarget.getAttribute('download') === undefined);
対応するボタンがクリックされたときにコンソールにログに記録された情報は次のとおりです。
mycsv.csv
undefined
false
なぜ最後の値false
がありますか? e.currentTarget.getAttribute('download')
はundefined
なので、本当ですか?これが間違った方法である場合、変数が未定義であるかどうかをどのようにテストできますか?
ルック(HTTPS:/あなたが実際に
undefined
(またはnull
)に設定したいによって暗示され、それを削除したい場合は、代わりにremoveAttribute
使用することができます/developer.mozilla.org/en-US/docs/Web/API/Element/getAttribute):*のgetAttribute()要素上で指定された属性の値を返します。指定された属性が存在しない場合は、返された値がいずれかの(空の文字列)「」ヌルであるか、でしょう。* –あなたは、あなたがやったとき、 'ダウンロードは= undefined'が、それはそれを文字列に強制していないことを確認しており、実際には値を '' undefined ''に設定してください。あなたのコンソールログは '' mycsv.csv "、" undefined "、false'または' 'mycsv.csv"、undefined、false'のように見えますか? –
James、コンソールログは 'mycsv.csv'のようでした。 'undefined'、' false'です。引用符はありませんでした。 –