メソッドを自作してみよう!!

メソッドを自作してみよう!!:

こんにちは。

今回は、、、JSのメソッドを自作方法ですね。失敗例も交えて書きました。

(カッコよさそうだからやってみたんですがね)


メソッドのつくりかた

var def={ 
    hoge(){ 
        return false; 
    } 
} 
これだけです。

つまり、JSON的な書き方ですね。


メソッドを利用してみよう

こんな感じに作ってみました。

var def={ 
    time(){ 
        return [new Date().getFullYear(),new Date().getMonth()+1]; 
    } 
} 
日付を返すのは見てのとおりなので、割愛して、、、

呼び出し方ですね。これだと、

def.time()

このように呼び出します。

もし、引数があるならば、

def.hoge("fuga")

のように、括弧の中に引数を代入するだけです。


実際に使われるメソッド

広く使われるもので説明してみます。
みんな大好きwindowメソッド~~。

よくHTML用のJSに使われますね。

たとえば、Array()も、windowメソッドの一つで、

コンソールで見てみると、


無題.jpg


上から7番目。Arrayが宣言されてますね。

いろいろとメソッドが多用される事例の一つですね。


失敗例


JSON形式で書いてしまう

失敗例1
hoge={ 
    "piyo":function(){ 
        return false; 
    } 
} 
これは本当にJSONとして扱われてしまい、
function(){return false;}という文字列として扱われます。(当然としては当然)


JSON形式で書いてしまう2

失敗例2
hoge={ 
    "piyo":function piyo(){ 
        return false; 
    } 
} 
これも文字列として扱われます。


JSON形式で書いてしまう3

失敗例3
hoge={ 
    "piyo":(function(){ 
        return false; 
    })() 
} 
これは、、、読まれた瞬間に実行されてしまい、文字列として扱われるどうこうの問題どころではなくなりますね。


そして成功

hoge={ 
    piyo:function(){ 
        return false; 
    } 
} 
まさかの、キー名も文字列型にしないんですねぇ。。。

でも、最初に説明したものとは違いますよね。それについて以下で説明します。


簡略構文

前項で言ったとおり、通常は

hoge={ 
    piyo:function(){ 
        return false; 
    } 
} 
と記述しますが、略して記述できます。

それが、冒頭で説明した

var def={ 
    hoge(){ 
        return false; 
    } 
} 
ってものです。

わざわざ複数行にする必要もありません。だから、こんな風にも、

var def={ 
    hoge(){return false;} 
} 
最短でvar def={hoge(){return false;}}と、書けます。

これが、簡略構文と呼ばれるものです。

ちなみに、function必要ありません。書くとエラー吐かれます。


JSONといえばJSON?なので、こんな書き方もできます。

var def={ 
    hoge(){return false;}, 
    "piyo":"Hello", 
    "fuga":"World" 
} 


まとめ

メソッドはJSONの形で宣言して、
関数名(引数){処理}で書け!

おわり。

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)