JavaScript の Location オブジェクトは、現在の URL のコンポーネントへのアクセスを提供します。このオブジェクトは、現在の場所にある読み取り専用ウィンドウと考えることができます。
Location オブジェクトには、ホストとホスト名というよく混同される 2 つのプロパティがあります。
host プロパティは、現在の URL のホスト名、ポート番号、およびプロトコルを返します。たとえば、現在の URL が「http://example.com:8080/path/to/page.html」の場合、ホストの値は「example.com:8080」になります。
location.host の使用には、location.hostname に比べていくつかの利点もあります。
まず、より具体的です。ポート番号またはプロトコルが必要な場合は、ホストのプロパティがそれを返すことを確認できます。
2 つ目は、より簡潔です。ホスト名のみが必要な場合は、より短いホスト名属性を使用できます。ただし、ポート番号またはプロトコルも必要な場合は、ホストのプロパティを使用してすべての情報を一度に取得できます。
第三に、より未来志向です。新しい URL コンポーネントが追加された場合、それがホスト プロパティに含まれる可能性があります。これは、hostname 属性の場合には必ずしも当てはまりません。
一方、hostname 属性は、現在の URL のホスト名部分のみを返します。たとえば、現在の URL が「http://example.com:8080/path/to/page.html」の場合、ホスト名の値は「example.com」になります。
location.hostname の使用には、location.host よりもいくつかの利点があります。
まず、読みやすくなりました。 URL を見るときは、通常、ポート番号やプロトコルよりもホスト名に興味があります。
第二に、より一貫性があります。ホスト名は URL の必須部分ですが、ポート番号とプロトコルはオプションです。これは、すべての URL にホスト属性があるわけではありませんが、すべてホスト名があることを意味します。
第三に、より柔軟です。 URL のポート番号またはプロトコルを変更しても、ホスト名は同じままです。これはホスト プロパティには当てはまりません。
一般に、特にポート番号またはプロトコルが必要でない限り、location.hostname を使用する必要があります。
その理由は、ホスト名は URL の「人間が判読できる」部分であり、ホスト属性にはポート番号とプロトコルも含まれるためです。ほとんどの場合、この追加情報は必要ありません。
ただし、いくつかの例外があります。例としては、現在の URL をベースとして使用して新しい URL を構築する必要がある場合があります。この場合、location.host を使用してポート番号とプロトコルを保存する必要があります。
もう 1 つの例外は、短縮 URL を使用する場合です。この場合、location.host を使用して元の URL のホスト名を保存する必要があります。
次の表は、JavaScript における location.host と location.hostname の主な違いを示しています -
比較的基本的な | 場所.ホスト | 場所.ホスト名 |
---|---|---|
host 属性は、現在の URL のホスト名、ポート番号、プロトコルを返します 一方、hostname 属性は現在の URL のホスト名部分のみを返します | #########例#########現在の URL が「http://example.com:8080/path/to /page.html」の場合、ホストの値は「example.com:8080 | 」です。現在の URL が「http://example.com:8080/path /to/page.html」の場合、ホスト名の値は「example.com」です。 |
いつ使用しますか? | ポート番号またはプロトコルが特に必要な場合は、location.host を使用する必要があります。 | 特にポート番号またはプロトコルが必要でない限り、location.hostname を使用する必要があります。 |
読みやすさ | ホストのプロパティにはポート番号とプロトコルも含まれているため、読みにくくなっています。 | ホスト名は、URL の「人間が判読できる」部分です。 |
###結論は### ほとんどの場合、location.host の代わりに location.hostname を使用する必要があります。読みやすく、一貫性があり、復元力が高くなります。ただし、新しい URL を作成する必要がある場合や URL 短縮ツールを使用する必要がある場合など、いくつかの例外があります。 |
以上がJavaScript における location.host と location.hostname の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。