この投稿Object
から、 JavaScript で のプロトタイプを変更することはアンチパターンであることを理解しています。ただし、他の「組み込み」プロトタイプを変更することはアンチパターンであると広く考えられているかどうか、興味がありました。
たとえば、コンテキストの画像データを取得し、ピクセルを特定の色に設定し、画像データを元に戻すという義務を抽象化するために、setPixel(x,y,color)
関数を追加したいとします。CanvasRenderingContext2D
CanvasRenderingContext2D.prototype.setPixel = function(x, y, color){
var imgdata = this.createImageData(1,1);
imgdata.data[0] = color.r;
imgdata.data[1] = color.g;
imgdata.data[2] = color.b;
imgdata.data[3] = color.a;
this.putImageData(imgdata,x,y);
};
私はこのコードをテストしていませんが、アイデアはわかります。「ベストプラクティス」に対してこのようなものはありますか?