質問編集履歴

1

追記

2019/06/19 13:39

投稿

domidomi
domidomi

スコア34

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,15 @@
1
+ ##※注意
2
+
3
+ 通常組み込みオブジェクトの内容を変更することは推奨されておりません。
4
+
5
+ 学習用途以外では行わないようにしてくださいませ。
6
+
7
+
8
+
9
+ ##本文
10
+
11
+
12
+
1
13
  `Date`クラスについて`chrome`のコンソールを用いていろいろいじってみています。
2
14
 
3
15
  その中でふと`Date`クラスの`constructor`に処理を追加してみようとしました。
@@ -87,3 +99,83 @@
87
99
  適当なクラスを作ってコンストラクター関数だけ使用しようとしてみるとエラーとなります。
88
100
 
89
101
  `ビルトインオブジェクト`故にできない事なのかも?わからないですが・・・
102
+
103
+
104
+
105
+
106
+
107
+ ##追記1
108
+
109
+ いろいろお答えいただき本当にありがとうございます。
110
+
111
+ 当初私が作ってみたいと思った状況は
112
+
113
+ ```javascript
114
+
115
+ class Aa extends Date{
116
+
117
+ constructor(...arg){
118
+
119
+ super(...arg);
120
+
121
+ console.log("アベシ");
122
+
123
+ }
124
+
125
+ };
126
+
127
+ Date = Aa;
128
+
129
+ new Date()
130
+
131
+ // アベシ
132
+
133
+ // 22:27:02.908 Wed Jun 19 2019 22:27:02 GMT+0900 (日本標準時)
134
+
135
+ ```
136
+
137
+ で作ることが出来ました。
138
+
139
+ しかし未だ
140
+
141
+
142
+
143
+ ```javascript
144
+
145
+ var itti = Date.prototype.constructor
146
+
147
+ var aaa = function(...args){
148
+
149
+ itti(...args);
150
+
151
+ console.log('abesi');
152
+
153
+ }
154
+
155
+ Date.prototype.constructor = aaa;
156
+
157
+ ```
158
+
159
+ を行ってから
160
+
161
+ ```javascript
162
+
163
+ new Date()
164
+
165
+ ```
166
+
167
+ を行うとabesiと出てこない事の**理由がわかりません。**
168
+
169
+
170
+
171
+
172
+
173
+ また、私はプログラムについて何か仕事をしているわけでもなんでもなく、
174
+
175
+ ただの好奇心からの質問です。混乱させてしまいすみません。
176
+
177
+
178
+
179
+ 仕事で行う人がいたらかなり危険だとも思いますので、
180
+
181
+ もしこの質問の最上に注意を書かせていただきました。