```

    function person(name){
      this.name = name;
      this.prof = function(){
        console.log("name : " + this.name + "\nage : " + this.age + "\ncolor : "+ this.color + "\nweight : " + this.weight);
      }
    }
    person.prototype.color = "red";
    person.prototype.age = "18";
    
    var man = new person("Jackbow");
    man.weight = 50;
    man.prof();
    
```

* * *

この `man.weight = 50;` を

```

    man = {
      weight : 50
    };
    
```

にしてはいけないのはなぜですか？
CC BY-SA 3.0
2015-11-18T14:51:56.723
19000
2015-11-18T15:40:44.783
2015-11-18T14:58:32.850
13134
question
javascript
JavaScriptのprototype
```

    {
      weight : 50
    }
    
```

この文で `weight` プロパティだけを持ったオブジェクトを作っています。このオブジェクトは `man` とも `person`
とも無関係です。ですから、

```

    man = {
      weight : 50
    };
    
```

と書いてしまうと、その新しいオブジェクトで `man` の中身を丸ごと置き換えてしまいます。

```

    man.weight = 50;
    
```

と書いた場合は `weight` プロパティだけが変更されるため、他のプロパティや、プロトタイプチェインに影響を与えることはありません。
CC BY-SA 3.0
2015-11-18T15:40:44.783
19001
2015-11-18T15:40:44.783
8000
19000
answer