今日知ったTypeError/URIErrorとFunction.length/arguments.lengthについて
JavaScriptに組み込みエラーオブジェクト(って呼び名でいいのか?)として
- TypeError
- URIError
があるのを知らなかった……
Errorくらいしか使ったことなかった。SyntaxErrorとかはたまに見るから知ってたけど。
あとFunction.lengthとarguments.lengthの違いについて。
Function.length | 関数の引数の個数 |
arguments.length | 関数が受け取った引数の個数 |
Function.lengthは存在すら知らなかったよ!
例として、
// Function.length (function () {}).length; // 0 (function (a) {}).length; // 1 (function (a, b) {}).length; // 2 // arguments.length function a() { console.log(arguments.length); } a(); // 0 a(1); // 1 a(1, 2); // 2
という感じ。なんか面白そうなことできそうかも。