0
0

Javascript応用文法

Posted at

今回はJavascriptの中でも応用的な文法を記事にしたいと思います。

  1. 関数式とアロー関数
    JavaScriptでは、関数という特定の動作をまとめたものを作れます。通常の関数のほかに、「関数式」や「アロー関数」という書き方があります。

普通の関数:

function sayHello(name) {
  return "Hello, " + name;
}
console.log(sayHello("Alice"));  // "Hello, Alice"

関数式:
関数を変数に代入する形で作ることができます。普通の関数と同じように使えますが、関数の書き方が少し違います。

let sayHello = function(name) {
  return "Hello, " + name;
};

console.log(sayHello("Bob")); // "Hello, Bob"
アロー関数:
アロー関数は、もっと短く書ける方法です。

let sayHello = (name) => "Hello, " + name;
console.log(sayHello("Charlie"));  // "Hello, Charlie"
アロー関数はコードをすっきりさせるために使います
  1. 非同期処理とPromise
    非同期処理とは、すぐに終わらない作業(例:サーバーからデータを取得するなど)を待っている間に他のことをやっておくための仕組みです。Promise(プロミス)というものを使って、非同期の作業が終わったかどうかを確認できます。
let promise = new Promise((resolve, reject) => {
  let success = true;
  if (success) {
    resolve("成功しました!");
  } else {
    reject("失敗しました");
  }
});

promise.then((message) => {
  console.log(message);  // "成功しました!"
}).catch((error) => {
  console.log(error);  // もしエラーがあったらここが実行される
});

ここでは、「成功」か「失敗」かが分かるまで他の作業を続けながら、成功したらメッセージを表示するというコードです。thenは成功したときの処理、catchは失敗したときの処理です。

  1. モジュール
    JavaScriptでは、モジュールという機能を使って、コードを別のファイルに分けて整理できます。これにより、コードが大きくなっても、読みやすくなります。

モジュールの例:

// module.js ファイル
export const name = "Alice";
export function greet() {
  console.log("Hello, " + name);
}

// main.js ファイル
import { name, greet } from './module.js';

console.log(name);  // "Alice"
greet();  // "Hello, Alice"

module.jsというファイルで変数や関数を定義し、それを別のファイル(main.js)で使うことができます。コードを分割することで、管理が簡単になります!

  1. スプレッド構文と分割代入
    スプレッド構文は、配列やオブジェクトの中身を簡単に取り出して、別の場所に使うための便利な書き方です。
    スプレッド構文の例:
let arr1 = [1, 2, 3];
let arr2 = [...arr1, 4, 5];  // arr1の要素をそのまま使い、新しい配列を作る
console.log(arr2);  // [1, 2, 3, 4, 5]

また、分割代入を使うと、オブジェクトや配列から値を簡単に取り出せます。

分割代入の例:

let person = { name: "Alice", age: 25 };
let { name, age } = person;  // personのnameとageをそれぞれの変数に代入
console.log(name);  // "Alice"
console.log(age);   // 25
  1. 高階関数
    高階関数は、他の関数を引数に取ったり、戻り値として返すことができる関数です。少し難しそうに聞こえますが、実際によく使うものです。たとえば、mapという配列のメソッドが高階関数です。

高階関数の例:

let numbers = [1, 2, 3, 4, 5];
let doubled = numbers.map(num => num * 2);  // 配列のすべての要素を2倍にする
console.log(doubled);  // [2, 4, 6, 8, 10]

mapは、配列の各要素に対して関数を実行して新しい配列を作ります。この場合、num => num * 2という関数を使って、全ての数字を2倍にしています。

まとめ
これでJavaScriptの応用文法について説明しました。もう一度おさらいしましょう:

関数式とアロー関数:関数をもっと簡単に書ける。
非同期処理とPromise:すぐに終わらない作業を待っている間に他の作業をする方法。
モジュール:コードを別ファイルに分けて整理できる。
スプレッド構文と分割代入:配列やオブジェクトの中身を簡単に扱う。
高階関数:他の関数を引数として扱える関数。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0