コンテンツにスキップ

関数

はじめに

本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。


01. Function

関数を作成するオブジェクト。


02. 関数

関数オブジェクト

▼ 関数オブジェクトとは

オブジェクトでもあり、関数である。

▼ リテラル表記による関数オブジェクト

// 定義
const object = {
  foo: "FOO",
  age: 42,
  baz: {myProp: 12},
};

▼ コンストラクタ関数

関数宣言方式の Function コンストラクタを使用して、オブジェクトを定義する。

// 関数宣言による定義
function car(make, model, year) {
  this.make = make;
  this.model = model;
  this.year = year;
}

// コール
const mycar = new car("Eagle", "Talon TSi", 1993);


function 命令

▼ function 命令とは

オブジェクトではない関数である。

// 定義 (コールする場所が前後しても無関係)
function foo() {
  return "foo";
}
// コール
methodA();

▼ 名前がドルマークのもの

JavaScript でよく見かけるドルマーク。

これは、関数の名前としてドルマークを使用しているのみである。

// 定義
function $() {
  return "foo";
}

jQuery では、パッケージの読み出し宣言時に、『Jquery』という名前の代わりにドルマークを使用する仕様になってる。

これと混乱しないように注意する。

// jQuery.get() と同じ
$.get();

▼ コールバック関数

const asyncFunc = (param, callback) => {
  setTimeout(() => {
    // getData関数は、数値を渡すとdataを取得してくれると仮定する
    const data = getData(param);
    const err = data.getError();

    // 第二引数のコールバック関数は、getData関数とgetError関数の後に実行される。
    callback(err, data);
  }, 0);
};

const testParam = 1;

// asyFunc関数の第一引数が、第二引数で設定したコールバック関数に渡される。
// 渡されたコールバック関数は、getData関数とgetError関数の後に実行されるため、errやdataを受け取れる
asyncFunc(testParam, (err, data) => {
  if (err) {
    throw err;
  }
  console.info(data);
});