回答編集履歴
1
追記
answer
CHANGED
@@ -7,4 +7,22 @@
|
|
7
7
|
またstr.lengthはstringオブジェクトで定義されたオブジェクトstrに対して
|
8
8
|
lengthプロパティを参照してるだけなのでカッコがつきません
|
9
9
|
カッコがつくのはあくまでもメソッドを実行する場合です。
|
10
|
-
もしdateオブジェクトがfullyearというプロパティを持っていればカッコはつきません。
|
10
|
+
もしdateオブジェクトがfullyearというプロパティを持っていればカッコはつきません。
|
11
|
+
|
12
|
+
# 追記
|
13
|
+
文字列の長さをメソッドを利用して取ろうとおもえばprototypeを利用します。
|
14
|
+
ただしstringオブジェクトは自分自身を書き換えられないので
|
15
|
+
lengthの値を変更してのばしたり縮めたりすることはできません。
|
16
|
+
|
17
|
+
似たような(?)構造で、配列がありますが
|
18
|
+
こちらはlengthの値を変更できますので、setLength的な処理が可能です
|
19
|
+
```javascript
|
20
|
+
String.prototype.getLength=function(){return this.length;}
|
21
|
+
var str='hello';
|
22
|
+
console.log(str.getLength());
|
23
|
+
|
24
|
+
Array.prototype.setLength=function(num){this.length=num;}
|
25
|
+
var arr=['x','y','z'];
|
26
|
+
arr.setLength(1);
|
27
|
+
console.log(arr);
|
28
|
+
```
|