JavaScriptの変数をHTMLに反映させる方法

JavaScriptの変数をHTMLに反映させる方法

JavaScriptの変数をHTMLに反映させる方法

記事の監修者

加藤羽也人

加藤羽也人

1000万PVを超える新規メディアの立ち上げを開発責任者として行う。株式会社ウィルゲートを退社後、民泊の運用代行業者のTwistを設立し上場企業に売却。2016年株式会社Market Drive(現テックアイエス)を設立し、取締役副社長に就任。200万ダウンロードを超えるアプリを開発。現在はプログラミングスクールのカリキュラム制作も担当。現場でのエンジニアリングと経営の両面を支えている。

JavaScriptを使っていて変数をHTMLに反映させたいことはありませんか? JavaScriptはWebサイトに動きを付ける言語として有名ですが、動きだけでなくテキストや画像などコンテンツを書き換えることもできます。 本記事では、JavaScriptの変数をHTML側に反映させる方法を3つ紹介します。 変数の概念から実際にHTMLを書き換えるところまで説明するので、最後まで読んで実際に試してみましょう。

プログラミング学習なら

Image

これからの時代に絶対必要なプログラミングスキルをオフラインでもオンラインでも学習できるのは「テックアイエス」だけ

無料体験はこちら

JavaScriptの変数とは

HTMLを書き換える前に以下2点をチェックしておきましょう。 ・変数の意味 ・JavaScriptの変数の種類 まずは変数がどういうものであるか、最初に説明します。

変数の意味

「変数」とは、プログラミング言語で一般的に使われる数値や文字列を扱うための概念です。 変数は何かを入れる箱によく例えられます。 例えば、Aという箱にりんごを入れます。 多くの人はりんごを食べたくなったら箱から取り出して食べるでしょう。 この例と同じで、変数に数値や文字列を先に入れておきます。 プログラムで必要な場面では、変数に入っている値を取り出して使います。

JavaScriptの変数の種類

 

スクロールできます

変数の種類 再宣言 再代入
var
let ×
const × ×
  JavaScriptの変数は以下3つあります。 ・var ・let ・const

var

varはJavaScriptの一番古い変数の種類です。 変数は、変数名の先頭にvarやletなどのキーワードをつけて定義します。 varで定義した変数は以下のように再宣言と再代入ができます。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

let

letは、「ES6」と呼ばれる2015年から標準の仕様となったJavaScriptの変数です。letは再宣言ができませんが、再代入は可能です。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

const

constもletと同じくES6から始まった変数です。再宣言と再代入ができないため、「定数」と呼ばれることもあります。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

プログラミング学習なら

Image

これからの時代に絶対必要なプログラミングスキルをオフラインでもオンラインでも学習できるのは「テックアイエス」だけ

無料体験はこちら

変数をHTMLに反映させる方法

それでは、JavaScriptの変数を使ってHTMLを書き換えたり表示させる方法を見ていきましょう。 今回は以下3つの方法をご紹介します。 ・アラートを表示する ・テキストを書き換える ・変数展開を使って出力する

アラートを表示する

まず手軽に変数を出力できるのが、アラートを表示させる方法です。 HTMLを書き換えることはしませんが、簡単に画面上でJavaScriptの変数を出力できます。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

「alert();」のカッコの中に変数を入れればOKです。あとはブラウザでページを読み込むとアラート画面の中に変数の値が表示されます。 ちなみに、「alert();」は「window.alert();」の省略形です。

テキストを書き換える

次に、Webサイトに表示されているテキストを書き換える方法です。 書き換える方法はいくつかありますが、今回は「textContent」をご紹介します。 「textContent」は対象要素のテキストにアクセスできるので、書き換える場合は以下のように書きましょう。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

ボタンを押すと、変数で定義した値に書き換えられたと思います。 このように実はたった数行でJavaScriptの変数をHTMLに反映できます。

変数展開を使って出力する

最後に、「変数展開」を使って変数をHTMLに反映させる方法を説明します。 「変数展開」とは、文字列の中に変数を埋め込んで文字列として出力させる方法です。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

変数展開自体はJavaScriptからHTMLに出力させる方法ではありません。 しかし、上で紹介した2つの方法と組み合わせることでより柔軟に文字列を出力できます。

文字列をHTMLに出力する際の注意点

JavaScriptからHTMLに文字列を出力する際は以下の点に気をつけてください。 ・特殊文字と実体参照 ・XSS対策

特殊文字

特殊文字は、HTML上で特別な意味を持つ文字です。 例えば、以下のような文字列をJavaScriptのinnerHTMLで出力すると、単純な文字列ではなくHTML上で意味を持つ文字となってしまいます。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

HTMLでは、特殊文字をテキストとして使う場合「実体参照」に置き換えなければなりません。代表的な特殊文字は以下の通りです。

スクロールできます

文字 実体参照
< &lt;
> &gt;
& &amp;
&quot;
&apos;
改行なしの半角スペース &nbsp;
 

脆弱性対策

特殊文字を実体参照に置き換えて出力する方法は以下のようになります。

See the Pen Untitled by ohsakoena (@ohsako_techis) on CodePen.

特殊文字をそのまま書いて出力すると、HTML上で何らかの意味を持ってしまいます。 この特性による脆弱性を利用した攻撃にXSS(クロスサイトスクリプティング)があります。 例えば、フォームなどに入力した値を画面に出力する場合に特殊文字を実体参照に置き換えていないと、悪意のあるスクリプトがそのまま実行されてしまいます。 JavaScriptから値を出力する際は上のように実体参照を使ってエスケープ処理(サニタイズ)しなければならない点に注意してください。 また、innerHTMLではなくtextContentで出力させると、

JavaScriptでHTMLを書き換えよう

JavaScriptの変数を使ってHTMLに出力させる方法を紹介しました。 JavaScriptはWebサイトに動きをつけられる便利なプログラミング言語です。 一方で、HTMLと違い脆弱性対策を常に意識しなければならない点に注意してください。 今回の内容を参考に、JavaScriptの変数を使って文字列を出力してみましょう。 参考リンク MDN Web Docs – Node.textContent

プログラミング学習なら

Image

これからの時代に絶対必要なプログラミングスキルをオフラインでもオンラインでも学習できるのは「テックアイエス」だけ

無料体験はこちら

自分の住んでるエリアでプログラミングスクールを探したい⭐️

エリア別で、おすすめのプログラミングスクールをまとめました。

ぜひ参考にしてみてくださいね。

北海道 / 東北

北海道 / 青森 / 秋田 / 岩手 / 山形 / 福島

関東

群馬 / 栃木 / 埼玉 / 茨城 / 東京 / 千葉 / 神奈川

中部

福井 / 石川 / 岐阜 / 愛知 / 富山 / 長野 / 山梨 / 静岡 / 新潟

近畿

兵庫 / 京都 / 大阪 / 滋賀 / 奈良 / 三重 / 和歌山

中国

山口 / 島根 / 鳥取 / 広島 / 岡山

四国

愛媛 / 香川 / 高知 / 徳島

九州 / 沖縄

長崎 / 佐賀 / 熊本 / 福岡 / 大分 / 宮崎 / 鹿児島 / 沖縄

Image

稼げるスキルを身につけるなら

Image

どこにいても、どこよりもプログラミングスキルを習得できるのはテックアイエスだけ。

HPで詳細を確認する

将来を変えられるのは「今」しかない!

Image

これからの働き方、生活に不安がある方はプログラミング学習を考えてみませんか。

詳しい情報をHPでチェックする

自立したい人支えます!

Image

これからのスキルを習得して自分で稼ぐスキル身につけたい人は必見です。

HPで詳しく見る

将来を変えられるのは「今」しかない!

Image

これからの働き方、生活に不安がある方はプログラミング学習を考えてみませんか。

詳しい情報をHPでチェックする

稼げるスキルを身につけるなら

Image

どこにいても、どこよりもプログラミングスキルを習得できるのはテックアイエスだけ。

HPで詳細を確認する

自立したい人支えます!

Image

これからのスキルを習得して自分で稼ぐスキル身につけたい人は必見です。

HPで詳しく見る

自立したい人支えます!

Image

これからのスキルを習得して自分で稼ぐスキル身につけたい人は必見です。

HPで詳しく見る

将来を変えられるのは「今」しかない!

Image

これからの働き方、生活に不安がある方はプログラミング学習を考えてみませんか。

詳しい情報をHPでチェックする

稼げるスキルを身につけるなら

Image

どこにいても、どこよりもプログラミングスキルを習得できるのはテックアイエスだけ。

HPで詳細を確認する