戻る

自作関数
自作関数(無名関数)

toHexという自作関数を例に下記の自作関数を説明します。

const toHex = val => 
{
	const h = val.toString(16).toUpperCase();
	return h.length === 1 ? "0"+h : h;
};
(1)const toHex
constは「定数宣言」です。
toHexはここで新しく作った変数名です。
ご存知の通り、JavaScript標準にはtoHexという組み込み関数は存在しません。
この「const toHex」は戻り値ではなく、関数オブジェクトを変数に代入する状態です。

(2)val =>
アロー関数式の引数部分です。
valは関数の引数名で、呼び出し時に渡された値がここに入ります。
val => { ... } は「val を受け取って {...} の処理をする関数」を作る構文です。
アロー関数はfunction(val) { ... } の短縮記法です。
この場合は引数が1つなので (val)の括弧が省略されています。

(3) { ... }
関数の本体(処理内容)です。
{} の中に書かれた文が、関数が呼び出されたときに実行されます。
この例では val を16進数文字列に変換し、桁数が1桁なら先頭に "0" を付けて返しています。
return 文があるので、関数の呼び出し結果としてその値が返ります。

[使用例]
copy
function rgbaToHex(r, g, b, a, option)
{
	const toHex = val => 
	{
		const h = val.toString(16).toUpperCase();
		return h.length === 1 ? "0"+h : h;
	};
	// a: Convert 0-1 to 0-255
	const aa = Math.round(a * 255);
	let tmp = "";
	if(option == 0)
	{
		tmp = "#" + toHex(r) + toHex(g) + toHex(b);
	}
	else
	{
		tmp = "#" + toHex(r) + toHex(g) + toHex(b) + toHex(aa);	
	}
	return tmp;
}



戻る


著作権情報
ホームページおよプリ等に掲載されている情報等については、いかなる保障もいたしません。
ホームページおよびアプリ等を通じて入手したいかなる情報も複製、販売、出版または使用させたり、
または公開したりすることはできません。
当方は、ホームペーよびアプリ利用したいかなる理由によっての障害等が発生しても、
その結果ホームページおよびアプリ等を利用された本人または他の第三者が被った損害について
一切の責任を負わないものとします。