みかづきブログ その3

3ヶ月つづけてみました。

JavaScriptでNumberを継承したサブクラスをつくろう

Numberを継承したサブクラス(Num)をつくるぞ。

function Num() {
    Number.call(this, arguments);
}

Num.prototype = new Number();
Num.prototype.constructor = Num;

できた。インスタンスをつくろう。

var num = new Num(10);

試しにNumber.ptototype.toStringをつかってみるぞ。

console.log(num.toString());

えいや!

Uncaught TypeError: Number.prototype.toString is not generic


怒られました。


しかし、ES6をつかえば一部環境で可能になるようです。

"use strict";

class Num extends Number {
    constructor (evt) {
        super(evt);
    }
}

var num = new Num(10);

console.log(num.toString()); // => "10"

※ Chrome 45.0.2454.93で確認

便利ですね。
ただし、"use strict"が必須のようです。