これは実際的な問題ではありません。説明が必要です。
次のコードがあります。
var src = container.find('img').attr('src');
if(src === 'undefined') {
alert('No src');
}
コンソールを起動して src をログに記録すると、未定義であると表示されますが、アラートは発生しません。このコードをデバッグすると、以前の動作が正当化されます。if ステートメントの '' を削除し、型として未定義のままにすると、アラートがトリガーされます。
一方、コードのさらに下には、次の部分があります。
var pathname = (window.location.pathname).split('/');
if(pathname[5] === 'undefined') {
alert('Something...');
}
そして、コンソールがパス名[5]が未定義であると言うたびに、アラートが適切にトリガーされます。
したがって、最初のケースでは未定義が型として返され、2番目のケースでは文字列として返されると考えました。これは正しいですか、なぜそのような動作をするのですか?
すべてのスマートな回答に感謝します!