回答編集履歴
1
もうちょっと追記
    
        answer	
    CHANGED
    
    | 
         @@ -34,6 +34,11 @@ 
     | 
|
| 
       34 
34 
     | 
    
         
             
            c.key = "value";
         
     | 
| 
       35 
35 
     | 
    
         
             
            console.log(c.key); // "value"
         
     | 
| 
       36 
36 
     | 
    
         
             
            console.log(c); // String {"jiro", key: "value"}
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            // Stringオブジェクトは.toString()で正式な文字列として変換できるが、その際やっぱりkeyは捨てられる
         
     | 
| 
      
 39 
     | 
    
         
            +
            var d = c.toString();
         
     | 
| 
      
 40 
     | 
    
         
            +
            console.log(d); // "jiro"
         
     | 
| 
      
 41 
     | 
    
         
            +
            console.log(d.key); // undefined
         
     | 
| 
       37 
42 
     | 
    
         
             
            ```
         
     | 
| 
       38 
43 
     | 
    
         | 
| 
       39 
44 
     | 
    
         
             
            この辺の事情で、数値や文字列をaに代入すると上手く動かないという主張どおりになります。
         
     |