JavaScriptの基本

ウェブ開発において、JavaScriptは欠かせないプログラミング言語です。

これを使うことでウェブページに動的な要素やインタラクティブな機能を追加することができます。

この記事では、JavaScriptの基本から始め、初心者向けに分かりやすく解説します。



フロントエンドエンジニアロードマップ一覧はこちら



JavaScriptとは?

JavaScriptは、ウェブページを動的かつインタラクティブにするためのプログラミング言語です。

HTMLやCSSが静的なコンテンツを管理するのに対し、JavaScriptはユーザーとの対話や動的な変更を実現します。

ほとんどのモダンなブラウザはJavaScriptをサポートしており、開発者はクライアントサイドのプログラミングに利用します。


JavaScriptの基本構文

JavaScriptの基本構文は、変数、データ型、演算子、制御構造(条件分岐や繰り返し)、関数などから構成されています。

以下に、それぞれの基本的な要素を紹介します。


変数とデータ型

JavaScriptではletconstを使って変数を宣言します。

データ型には文字列、数値、真偽値、オブジェクトなどがあります。

let name = "John"; // 文字列
const age = 25;     // 数値
let isStudent = true; // 真偽値


演算子

JavaScriptには数学的な演算子や論理演算子などがあります。

let x = 5;
let y = 10;
let sum = x + y; // 加算
let product = x * y; // 乗算
let isGreater = x > y; // 比較


制御構造

条件分岐や繰り返しを制御するための構造も備わっています。

if (x > y) {
    console.log("xはyより大きい");
} else if (x < y) {
    console.log("xはyより小さい");
} else {
    console.log("xとyは等しい");
}

for (let i = 0; i < 5; i++) {
    console.log(i);
}

while (x < 10) {
    console.log(x);
    x++;
}


関数

関数は再利用可能なコードブロックを定義するのに役立ちます。

function greet(name) {
    console.log("こんにちは、" + name + "さん!");
}

greet("太郎");


DOMとは?

JavaScriptが特に強力なのは、DOM(Document Object Model)と呼ばれるウェブページの構造を操作できる能力です。

DOMはHTMLやXML文書をプログラムから操作するためのインターフェースを提供します。

具体的には、HTML要素へのアクセスや変更、新しい要素の追加、イベントの検知などが含まれます。


DOMへのアクセスと変更

JavaScriptを使用して、DOMにアクセスして要素を変更する方法を見てみましょう。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JavaScript Basics</title>
</head>
<body>

    <h1 id="main-heading">Hello, World!</h1>
    <button id="change-text">Change Text</button>

    <script>
        // DOMへのアクセス
        let heading = document.getElementById('main-heading');
        let button = document.getElementById('change-text');

        // イベントリスナーの追加
        button.addEventListener('click', function() {
            // DOMの変更
            heading.textContent = '新しいテキスト';
        });
    </script>

</body>
</html>

この例では、getElementByIdメソッドを使用してHTMLの要素にアクセスし、addEventListenerメソッドでボタンのクリックイベントを検知してテキストを変更しています。


イベント処理

JavaScriptはユーザーのアクションに応じて動作することができます。これをイベント処理と呼びます。

先ほどの例でも触れましたが、以下に具体的なイベント処理の例を挙げてみましょう。

<button id="myButton">Click me!</button>

<script>
    let button = document.getElementById('myButton');

    button.addEventListener('click', function() {
        alert('ボタンがクリックされました!');
    });
</script>

この例では、ボタンがクリックされたときにアラートが表示されるようになっています。

addEventListenerメソッドを使って、イベント(ここではclick)に対する処理を指定しています。


外部ファイルの読み込み

JavaScriptコードを別のファイルに分割して管理することも一般的です。

以下は、外部のJavaScriptファイルを読み込む方法です。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JavaScript Basics</title>
    <script src="script.js" defer></script>
</head>
<body>

    <h1 id="main-heading">Hello, World!</h1>
    <button id="change-text">Change Text</button>

</body>
</html>

この例では、script.jsという外部のJavaScriptファイルを<script>タグで読み込んでいます。

defer属性は、HTMLの解析が終わるまでスクリプトの実行を待つようにします。


AJAXと非同期通信

JavaScriptは非同期通信をサポートし、サーバーとのデータのやりとりが可能です。

これにより、ページ全体をリロードせずにデータを取得したり送信したりできます。以下は、非同期通信の例です。

// XMLHttpRequestを使用した非同期通信
let xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);

xhr.onload = function() {
    if (xhr.status >= 200 && xhr.status < 300) {
        let responseData = JSON.parse(xhr.responseText);
        console.log(responseData);
    } else {
        console.error('リクエストに失敗しました。');
    }
};

xhr.send();


近年では、fetchと呼ばれる新しいAPIも利用されています。

これはよりシンプルで強力な非同期通信の手段です。

// fetchを使用した非同期通信
fetch('https://api.example.com/data')
    .then(response => response.json())
    .then(data => console.log(data))
    .catch(error => console.error('リクエストに失敗しました。', error));


まとめ

JavaScriptはウェブ開発において不可欠な言語であり、ウェブページをより動的で魅力的なものにするための力を持っています。基本的な構文やDOMの操作、イベント処理、非同期通信などを理解することで、より高度なウェブアプリケーションの構築が可能になります。初心者の方も基本から順に学びながら、実際にコーディングをしてみてください。



フロントエンドエンジニアロードマップ一覧はこちら