無名関数、無名コンストラクタ – JavaScript

JavaScript(Ajax)デビューしてから半年ほど経過した自分です。
JavaScriptって本当に柔軟な言語で、いろんな書き方できるから本当に面白いです。

今回は関数(function)についてちょっと書いてみます。

▼基本的なfunctionの書き方

function ahya(arg){
	return arg
}
ahya('moe');	//戻り値 'moe'

これが一般的なスタンダードなやつですね。

他にもこんな書き方ができます。

var ahya = function(arg){
	return arg;
}
ahya('moe');

あと、関数名を使わない無名関数(匿名関数)という書き方もできます。

(function(){
	return arg;
})('moe');

さらに、JavaScriptはオブジェクト指向言語なので、コンストラクタも使えます。
下記は無名コンストラクタです。

new function(arg){
	return arg
}('moe');

どれも返ってくる戻り値は同じですが、関数とコンストラクタでは決定的な違いがあります。
それは、thisが示すオブジェクトが違うということです。

▼詳しくはこちら


(function() {})()とnew function() {}の違い

といったように、JavaScriptはとても柔軟な言語なので、好みや状況に合わせていろんな書き方ができるということです。

カテゴリー: JavaScript   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>