Ejercicios

  1. ¿Cual es la salida?
    > String.prototype.repeat = function(times) {
    ...   return new Array(times+1).join(this)
    ... }
    [Function]
    >  
    undefined
    > "hello".repeat(3)
    
    >
    

  2. ¿Cuales son los resultados?
    > z = Object.create({x:1, y:2})
    {}
    > z.x
    
    > z.y
    
    > z.__proto__
    
    > z.__proto__.__proto__
    
    > z.__proto__.__proto__.__proto__
    
  3. Describa las salidas:
    > obj = {x : 'something' }
    { x: 'something' }
    > w = Object.create(obj)
    {}
    > w.x
    'something'
    > w.x = "another thing"
    'another thing'
    > w.__proto__
    
    > obj == w.__proto__
    
  4. Explique la salida:
    > obj = {x : { y : 1} }
    { x: { y: 1 } }
    > w = Object.create(obj)
    {}
    > w.x == obj.x
    true
    > w.x.y = 2
    2
    > obj
    { x: { y: 2 } }
    >
    
  5. Explique las salidas:
    > inherit = Object.create
    [Function: create]
    > o = {}
    {}
    > o.x = 1
    1
    > p = inherit(o)
    {}
    > p.x
    1
    > p.y = 2
    2
    > p
    { y: 2 }
    > o
    { x: 1 }
    > o.y
    undefined
    > q = inherit(p)
    {}
    > q.z = 3
    3
    > q
    { z: 3 }
    > s = q.toString()
    '[object Object]'
    > q.x+q.y+q.z
    6
    > o.x
    1
    > o.x = 4
    4
    > p.x
    4
    > q.x
    4
    > q.x = 5
    5
    > p.x
    4
    > o.x
    4
    

Casiano Rodríguez León
2013-04-23