- 関数型プログラミング: 関数型プログラミングは、数学的な関数の組み合わせによってプログラムを構築する手法です。JavaScriptでは、関数がファーストクラスオブジェクトとして扱われるため、関数型プログラミングがサポートされています。関数の純粋性、不変性、高階関数、再帰などが関数型プログラミングの特徴です。
例:
// 高階関数の例: 配列の要素を2倍にする関数
const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map((x) => x * 2);
console.log(doubled); // [2, 4, 6, 8, 10]
// 再帰の例: 階乗を計算する関数
function factorial(n) {
if (n === 0) {
return 1;
}
return n * factorial(n - 1);
}
console.log(factorial(5)); // 120
- オブジェクト指向プログラミング: オブジェクト指向プログラミングは、データとそのデータを操作するメソッドを結び付けたオブジェクトを中心にプログラムを構築する手法です。JavaScriptでは、クラスベースのオブジェクト指向プログラミングとプロトタイプベースのオブジェクト指向プログラミングの両方をサポートしています。
例:
// クラスベースのオブジェクト指向プログラミングの例: Personクラス
class Person {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello, my name is ${this.name}.`);
}
}
const person = new Person('John');
person.sayHello(); // Hello, my name is John.
// プロトタイプベースのオブジェクト指向プログラミングの例: オブジェクトの作成とメソッドの追加
const obj = {
name: 'Jane',
sayHello: function () {
console.log(`Hello, my name is ${this.name}.`);
}
};
obj.sayHello(); // Hello, my name is Jane.
- イベント駆動プログラミング: イベント駆動プログラミングは、イベントの発生に応じてプログラムのフローが制御される手法です。JavaScriptでは、ブラウザやノード.jsなどの環境でイベント駆動プログラミングが一般的に使用されます。イベントリスナーの登録やイベントの発火、イベントハンドリングなどがイベント駆動プログラミングの要素です。
例:
// イベント駆動プログラミングの例: ボタンクリックイベントのハンドリング
constbutton = document.querySelector('#myButton');
button.addEventListener('click', function() {
console.log('Button clicked!');
});
// イベントの発火
button.click(); // Button clicked!
以上がJavaScriptにおける主要なプログラミングパラダイムの紹介です。それぞれのパラダイムは異なるアプローチを提供し、適切なシナリオに応じて使用することが重要です。