ECMAScriptのクラス継承とリスコフの置換原則
ハックするためのクラス継承(?)
こんな記事を見つけました。
「組み込みの Date オブジェクトが使いづらいので、継承して使いやすくしましょう」って趣旨です。
「リスコフの置換原則」違反のハック(?)
しかし
constなので影響範囲はブロックスコープに限られる
とわざわざ記事に書いてあるので、組み込みの Date
と modDate
を混ぜるな危険ってことを @forl-developer さん自身が理解しているようです。というかハックする手段として意図的にクラス継承を使っています。
modDate
は「リスコフの置換原則」をめっちゃ冒してるんだけど、本当に大丈夫なのか疑問です。「JavaScriptはオブジェクト指向言語じゃないから関係ない」とかあるんでしょうか。JavaScript では普通なのかな?
本人に質問してみた
積極的に聞いてみました。親切にも回答をいただきました。
私の疑問の直接的な答えはこちら
一般的か?と言われると全く一般的ではないと思います。
@forl-developer さんの考えはこちら
一般的ではないにしろそういったリスキーなコードが書けることがJavaScriptの利点だと思っています。
JavaScriptという言語に対する意識や、型に対する意識が私とは全然違うことが分かりました。
また、記事のタイトルを変更を変更されたようで [実験] [考察] だそうです。