icon
icon

JavaScriptで関数のエイリアスを作る方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaScriptで関数のエイリアスを作る方法について現役エンジニアが解説しています。関数とは、ある一連の処理をまとめた機能のかたまりのことで、エイリアスとは関数に別名を付けることのできる機能のことです。関数のエイリアスは変数に代入するのと同じ方法で作ることができます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

JavaScriptで関数のエイリアスを作る方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。

 

JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、JavaScript/jQuery講座の内容をもとにしています。

 

田島悠介

今回は、JavaScriptに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

JavaScriptで関数のエイリアスを作る方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

関数とは

関数とは、ある一連の処理をまとめた機能のかたまりのことです。

function func() {
一連の処理
}

関数を使うことでまとまりのある処理をまとめて記述し、複数の場所から呼ぶことが可能です。
 

[PR] フロントエンドで副業する学習方法を動画で公開中

エイリアスとは

エイリアスとは関数に別名を付けることのできる機能のことです。

長い関数名などに別名を付けることで関数名を省略して書くことができます。
 

関数のエイリアスを作る方法

関数のエイリアスは変数に代入するのと同じ方法で作成可能です。

たとえば、console.log()というメソッドのエイリアスを作成するには、

var log = console.log;
log();

とすることでlog()という名前でconsole.log()メソッドを実行できます。
 

実際に書いてみよう

html

<input id="url" />

<button id="getButton">取得</button>

JavaScript

var getById= document.getElementById.bind(document);

var clickAction = function() {
 var url = getById("url");
 console.log(url.value);
};

getById("getButton").onclick = clickAction;

このコードを実行すると、取得ボタンを押下した際にinputに記載されている文字列がコンソールに出力されます。

getById変数にはdocument.getElementByIdの別名を代入しています。

この際に.bind(document)としているのはdocument.getElementByIdをgetByIdに代入した際にgetElementById内で使われる”this”が変わってしまうことを防ぐためです。

またclickAction変数にボタンがクリックされた際の処理を代入しています。

getById(“getButton”).onclick = clickAction;によってボタンをクリックした際の動作にclickActionを設定しているので、ボタンクリック時にclickActionに代入された動作が実行されます。
 

まとめ

さて、今回の関数のエイリアスの使い方はいかがでしたでしょうか。

使い方は一見簡単なのですが、JavaScrptの関数の仕様はとっつきにくい箇所もあるので注意して使ってみましょう。

しかし関数を変数として利用できるなど、面白い使い方も出来るので様々な方法を試してみて書きやすいコードを書いていって頂けたらと思います。
 

1時間でできる無料体験!

筆者プロフィール

黒木一志(くろきかずし)

TechAcademyジュニアのゲームアプリコースを担当しています黒木です。
現在は会社員としてシステムエンジニアをしております。

会社ではC#にて業務系アプリの開発を行っておりますが、過去にはCakePHP、Ruby on Railsを使ったWebアプリ開発を行っておりました。

プライベートではバンド演奏や本を読んだり映画を見たりしております。最近はスケボーにハマってます。
みなさんにプログラミングの楽しさをお伝え出来たらと思っております。何卒宜しくお願い致します。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、JavaScript・jQueryを使ったWebサービス公開を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。