JavaScript でオブジェクトのメンバが属しているオブジェクトが知りたい
Q&A
Closed
JavaScript で別名を定義する関数を作ろうと思っています。
document.getElementById();
というメソッドが長いので id()
で使いたいと思い
const id = (id) => document.getElementById(id);
こういう処理を書いたのですが、もっと id()
が別名であることを分かりやすくしたいと思いました。
そこで
const id = alias( document.getElementById );
このような alias()
関数を作りたいと思っています。
発生している問題・エラー
function alias(func) {
return args => func(args);
}
このように書いてみたのですが、2行目の func(args)
の部分で
Uncaught TypeError: Illegal invocation`
というエラーが出ました。
うまく行った例としては
function alias(func, obj){
return func.bind(obj);
}
このように、一緒にオブジェクトを受け取って .bind()
することで動いたのですが
const id = alias(document.getElementById, document);
こっちが冗長になって、読みにくいのです。
受け取った document.getElementById
から、document
部分を指定する方法はありませんか?
キーワードだけでも教えていただけると助かります。
0