スキップしてメイン コンテンツに移動

JavaScript入門 - パート4

JavaScript入門 - パート4

パート4では、JavaScriptの高度なトピックについて学びます。これには、関数の応用、クロージャ、そしてDOM操作が含まれます。

関数の応用

1. コールバック関数

コールバック関数は、他の関数の引数として渡され、後で実行される関数です。

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

function sayGoodbye() {
    console.log("さようなら!");
}

greet("太郎", sayGoodbye);

2. 高階関数

高階関数は、他の関数を引数として受け取るか、関数を返す関数です。

function multiplyByTwo(x) {
    return x * 2;
}

function operateOnArray(arr, func) {
    let result = [];
    for (let i = 0; i < arr.length; i++) {
        result.push(func(arr[i]));
    }
    return result;
}

let numbers = [1, 2, 3, 4, 5];
let doubledNumbers = operateOnArray(numbers, multiplyByTwo);
console.log(doubledNumbers);  // [2, 4, 6, 8, 10]

クロージャ

クロージャは、外部関数から内部関数を返す関数であり、内部関数は外部関数の変数やパラメータにアクセスできます。

function counter() {
    let count = 0;
    return function() {
        count++;
        console.log(count);
    };
}

let increment = counter();
increment();  // 1
increment();  // 2
increment();  // 3

DOM操作

DOM(Document Object Model)は、HTML文書の構造化された表現であり、JavaScriptを使って操作することができます。

3. 要素の取得

let heading = document.getElementById("main-heading");
console.log(heading.textContent);

4. 要素の変更

let paragraph = document.getElementById("main-paragraph");
paragraph.textContent = "新しいテキスト";

5. イベントの追加

let button = document.getElementById("my-button");
button.addEventListener("click", function() {
    alert("ボタンがクリックされました!");
});

まとめ

パート4では、JavaScriptの高度なトピックについて学びました。関数の応用、クロージャ、そしてDOM操作は、より高度なウェブ開発に不可欠な概念です。これらを理解することで、より動的でインタラクティブなウェブページを作成できるようになります。

コメント

このブログの人気の投稿

「8発目」 神奈川県立の出願システムのドメインmail.shutsugankanagawa.jp をdigコマンドで色々と確認してみた。

今、話題となってる、高校受験する為にネットで登録する時にgmail が届かない件  2024/01/17 16時 頃 digコマンドを利用して確認してみました。さて、どこが悪いんでしょうね。 まずはこれから % dig mail.shutsugankanagawa.jp ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 122 IN A 13.113.157.93 mail.shutsugankanagawa.jp. 122 IN A 52.193.62.66 mail.shutsugankanagawa.jp. 122 IN A 52.194.140.218 今度は、txt をつけて % dig mail.shutsugankanagawa.jp txt ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 300 IN TXT "v=spf1 include:amazonses.com ~all" mail.shutsugankanagawa.jp. 300 IN TXT "google-site-verification=eBRf3ipFa5PReqemKRG2zePZUOEfBc6NO5GuPisqN5A" 次はMXをつけて % dig mail.shutsugankanagawa.jp mx ;; ANSWER SECTION: mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-52-193-62-66.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-52-194-140-218.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 10 ec2-13-113-157-93.ap-northeast-1.compute.amazonaws.com. mail.shutsugankanagawa.jp. 300 IN MX 20 feedback-s...

JavaScript入門 - パート3

JavaScript入門 - パート3 パート3では、JavaScriptのオブジェクトと配列について説明します。 オブジェクト 1. オブジェクトとは オブジェクトは、関連するデータや機能をまとめるための構造です。プロパティ(データ)とメソッド(関数)を持つことができます。 let person = { name: "太郎", age: 30, greet: function() { console.log("こんにちは、" + this.name + "です。"); } }; console.log(person.name); // "太郎" console.log(person.age); // 30 person.greet(); // "こんにちは、太郎です。" 2. オブジェクトのプロパティにアクセスする オブジェクトのプロパティにはドット記法やブラケット記法でアクセスできます。 let car = { brand: "トヨタ", model: "カローラ", year: 2020 }; // ドット記法 console.log(car.brand); // "トヨタ" // ブラケット記法 console.log(car["model"]); // "カローラ" 3. プロパティの追加と削除 オブジェクトにプロパティを追加したり、削除したりできます。 let book = { title: "JavaScript入門", author: "山田太郎" }; // プロパティの追加 book.year = 2021; console.log(book.year); // 2021 // プロパティの削除 delete book.auth...

2024年のITトレンド

最新のITトレンド 2024年のIT業界では、以下のようなトレンドが注目されています。 1. ジェネレーティブAIとクラウドインフラ ジェネレーティブAIは引き続き急速に発展しており、多くの企業がその活用を進めています。クラウドプロバイダが主要なコンピューティングリソースを提供し続けており、新しい技術やリソースの導入により、モデルの最適化と小型化が進んでいます。これにより、より小規模な企業や個人でも高度なAI技術を活用しやすくなっています。 2. スペーシャルコンピューティング スペーシャルコンピューティング(空間コンピューティング)は、デジタルツインや仮想トレーニングシナリオなど、複雑な情報を動的かつ没入型で伝えるための新たな手段として注目されています。物理的な空間をデジタルで拡張することで、企業は柔軟な空間設計やトレーニングの効率化が期待されています。 3. 新しいウェアラブルデバイス スマートリングや神経技術を組み込んだヘッドフォンなどの新しいウェアラブルデバイスが登場し、従来のスマートウォッチやヘッドフォンの概念を拡張しています。これにより、健康管理やデバイス制御の新たな方法が提供されると期待されています。 4. パスワードレス認証 セキュリティの分野では、パスワードレス認証が広まりつつあります。これは、セキュリティの向上とユーザーエクスペリエンスの改善を目指した技術で、多くの企業がこの新しい認証方法を採用し始めています。 5. 新素材のチップレット 半導体業界では、チップレットと呼ばれる新素材の小型チップが注目を集めています。これにより、従来のチップの限界を超えた性能向上が期待されており、特に計算性能と効率の向上が見込まれています。