Foros del Web » Programando para Internet » Javascript »

En javascript que es un objeto

Estas en el tema de En javascript que es un objeto en el foro de Javascript en Foros del Web. En javascript que es un objeto, ya que no entiendo, cuando dicen que javascript es un lenguaje de programación y si esta orientado a objetos ...
  #1 (permalink)  
Antiguo 21/10/2013, 03:29
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
En javascript que es un objeto

En javascript que es un objeto, ya que no entiendo, cuando dicen que javascript es un lenguaje de programación y si esta orientado a objetos que es un objeto ya que no se usa de la misma forma, como java o php
ojala me puedan dar una idea
gracias
  #2 (permalink)  
Antiguo 21/10/2013, 12:01
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: En javascript que es un objeto

La idea es exactamente la misma que en Java/PHP, un objeto es una entidad que tiene un estado (properties) y comportamiento (métodos).
__________________
blog | @aijoona
  #3 (permalink)  
Antiguo 21/10/2013, 21:56
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: En javascript que es un objeto

Cita:
Iniciado por Aijoona Ver Mensaje
La idea es exactamente la misma que en Java/PHP, un objeto es una entidad que tiene un estado (properties) y comportamiento (métodos).


pero es bien facil entender esto con php ya que hay muchos ejemplos pero en javascritp donde esta la clase, y sus métodos para poder entender que es un objeto

me podrías dar un ejemplo gracias
  #4 (permalink)  
Antiguo 22/10/2013, 07:21
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: En javascript que es un objeto

Lo de las clases en javascript no es tan visual como en PHP ya que no hay marcas textuales...

Tienes millones de ejemplos en la web...
http://www.w3schools.com/js/js_objects.asp

Si tienes alguna duda en concreto pregunta.

Saludos
  #5 (permalink)  
Antiguo 22/10/2013, 08:04
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: En javascript que es un objeto

Es lo mismo, solo que los objetos se crean de otra forma, no tenes palabra clave "class" como en php o java, lo que se hace es crear una funcion, investiga
  #6 (permalink)  
Antiguo 22/10/2013, 09:23
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: En javascript que es un objeto

Yo tengo entendido que casi todo o directamente todo en javascript es un objeto. Ya que las mayoria de los objetos provienen del objeto window. Ademas las funciones tambien son objetos, básicamente todo. En php creo que no es asi y en java no se.
  #7 (permalink)  
Antiguo 22/10/2013, 09:30
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: En javascript que es un objeto

No.

El objeto window es un objeto particular de los browsers, poco y nada tiene que ver con el lenguaje. Los objetos extienden de Object (a excepción de objetos sin prototype)

Luego, hay dos tipos de datos, objetos y primitivas. Primitivas son string, number, boolean, undefined y null. Todos los demás datos* son objetos.

* Atención a esto, operadores y diversas construcciones NO SON objetos. Las funciones si, ya que son un tipo de dato y no son primitivas.
__________________
blog | @aijoona
  #8 (permalink)  
Antiguo 22/10/2013, 10:21
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: En javascript que es un objeto

Javascript y php se pueden utilizar siguiendo la POO o NO. En cambio en Java SOLO se puede programar siguiendo POO. Otro dato...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #9 (permalink)  
Antiguo 22/10/2013, 10:59
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: En javascript que es un objeto

En Java podes tirar un programa entero dentro del main(), programando todo procedural si queres.
__________________
blog | @aijoona
  #10 (permalink)  
Antiguo 22/10/2013, 14:46
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: En javascript que es un objeto

Si es una forma de verlo todo el programa en una sola classe....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #11 (permalink)  
Antiguo 22/10/2013, 14:54
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 12 años, 11 meses
Puntos: 343
Respuesta: En javascript que es un objeto

Y eso seria OOP? Porque para mi lejos está de serlo.
__________________
blog | @aijoona
  #12 (permalink)  
Antiguo 22/10/2013, 15:19
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: En javascript que es un objeto

Obviamente seria una mala practica y se perderian todas las potencialidades de la POO pero seria un objeto. Encambio en php o javascript podrias hacerlo sin ningun objeto.

Pero bueno no voy a polemizar si quieres decir que Java por este caso no es orientado a objetos puro tu mismo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #13 (permalink)  
Antiguo 23/10/2013, 09:17
 
Fecha de Ingreso: octubre-2013
Mensajes: 8
Antigüedad: 10 años, 6 meses
Puntos: 3
Respuesta: En javascript que es un objeto

Que te oblige a crear una clase no implica que lo que desarrolles este orientado a objetos, eso es como decir que como crear una web en php es facil tambien lo es crear una buena y segura...

Bueno lo de la pregunta. Yo venia de c++ cuando me meti en el mundo del php y del java script y a mi me ha costado un poco comprender tanta libertad por decirlo de alguna manera jaja.

En POO pura y dura se piensa en los objetos como entidades con un estado, que puede ser alterado mediante unos modificadores, el estado puede costar de varios atributos y los modificadores de estado puede tenerlos o no.
Si lo ves asi ya lo veras como un objeto, la forma como se describen los estados y se accede a ellos pues ya es propia de cada lenguaje y si vienes de lenguajes muy estrictos como era mi caso te hace un poco infelilz esto hasta que comprendes de que van los lenguajes interpretados....

El termino objeto tambien depende mucho de los paradigmas del lenguaje de turno. por ejemplo en as400 (un so que espero que ninguno tenga la desgracia de conocer). un objeto es un programa, un recurso de datos, un objeto lo es todo y pues eso tampoco tiene que ver mucho con poo.
  #14 (permalink)  
Antiguo 24/10/2013, 04:31
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: En javascript que es un objeto

OOP es un paradigma de programación.Una filosofía.
Los lenguajes no tienen paradigmas, tienen sintaxis.Esa sintaxis puede dar mejor o peor soporte a un cierto paradigma de programación.
Si lo que fuera "orientado a objetos" fuera el lenguaje, significaría que cualquier programa hecho en ese lenguaje, sería orientado a objetos...Y..seguro que no..Incluso cuando hay muchas clases...
El hecho de que java tenga "class" significa que tiene sintaxis, pero no significa que cualquier cosa que se haga en Java, porque usa su sintaxis, esté usando el paradigma.
Como bien dice Aijoona, un programa java que resuelva todo en el main, por mucho que se use el keyword "class" dentro del fichero .java, no tiene nada que ver con OOP.
A la inversa, que javascript no tenga la sintaxis, no significa que no se pueda usar el paradigma.Lo que se intenta es que, con la sintaxis disponible, se consiga dar soporte a las ideas contenidas en el paradigma.Y, en javascript, con la sintaxis disponible, se han dado varias soluciones.
  #15 (permalink)  
Antiguo 26/10/2013, 23:27
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: En javascript que es un objeto

Cita:
Iniciado por dashtrash Ver Mensaje
OOP es un paradigma de programación.Una filosofía.
Los lenguajes no tienen paradigmas, tienen sintaxis.Esa sintaxis puede dar mejor o peor soporte a un cierto paradigma de programación.
Si lo que fuera "orientado a objetos" fuera el lenguaje, significaría que cualquier programa hecho en ese lenguaje, sería orientado a objetos...Y..seguro que no..Incluso cuando hay muchas clases...
El hecho de que java tenga "class" significa que tiene sintaxis, pero no significa que cualquier cosa que se haga en Java, porque usa su sintaxis, esté usando el paradigma.
Como bien dice Aijoona, un programa java que resuelva todo en el main, por mucho que se use el keyword "class" dentro del fichero .java, no tiene nada que ver con OOP.
A la inversa, que javascript no tenga la sintaxis, no significa que no se pueda usar el paradigma.Lo que se intenta es que, con la sintaxis disponible, se consiga dar soporte a las ideas contenidas en el paradigma.Y, en javascript, con la sintaxis disponible, se han dado varias soluciones.
genial aporte
entones que es un objeto en javascript dentor de tu explicacion
  #16 (permalink)  
Antiguo 27/10/2013, 10:19
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: En javascript que es un objeto

Me parece que no estas entendiendo, la pregunta no es "que es un objeto en javascript" sino que sería directamente "que es un objeto", los objetos son lo que son, no van a ser una cosa u otra dependiendo del lenguaje que estés tratando, los objetos tanto en java, php, javascript, etc... tienen un estado, un comportamiento, métodos, propiedades, pero todas esas cosas se aprenden de lo que es en si la orientación a objetos, por lo tanto leete algún manual si queres se POO en general, y ahí tal vez entiendas todo mejor.
  #17 (permalink)  
Antiguo 27/10/2013, 14:25
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: En javascript que es un objeto

Cita:
Iniciado por jor_0203 Ver Mensaje
genial aporte
entones que es un objeto en javascript dentor de tu explicacion
Si vas a la consola de javascript de tu navegador, y escribes:
Código Javascript:
Ver original
  1. >typeof []
  2. "object"
Con eso es suficiente para ver que la idea de "objeto" en un lenguaje de programación, no coincide con la idea de "objeto" del paradigma OOP.En javascript, un array es un "objeto".Supone eso que es una instancia de una clase "Array"?
Código Javascript:
Ver original
  1. >typeof Array
  2. "function"
Array es una funcion, no es una clase.El operador new genera objetos a partir de funciones.Este objeto es referenciable desde la propia función, a traves del keyword "this".
Pero estos "objetos" no tienen nada que ver con el concepto de "objeto" de la POO (encapsulación, herencia, etc).

Esos son objetos javascript, si eso es lo que preguntas.Ahora bien, cómo, a partir de esos "objetos", se consigue un comportamiento cercano a la idea de "objeto" de la POO, es otro asunto.
Normalmente, las formas más usuales de conseguir un comportamiento parecido a la POO se basan en el uso de la propiedad "prototype" de los objetos function, si lo que buscas es herencia, o a través de las funciones anónimas autoinvocadas, si lo que buscas es encapsulación / ocultación (y el no ensuciar el contexto global).
  #18 (permalink)  
Antiguo 27/10/2013, 15:05
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: En javascript que es un objeto

En estos casos nada mejor que recurrir a la especificación:
http://www.ecma-international.org/pu...T/Ecma-262.pdf
(Los extractos que voy a citar son de la paǵina 3 y 4)
Cita:
ECMAScript does not use classes such as those in C++, Smalltalk, or Java. Instead objects may be created in various ways including via a literal notation or via constructors which create objects and then execute code that initialises all or part of them by assigning initial values to their properties. Each constructor is a function that has a property named ―prototype‖ that is used to implement prototype-based inheritance and shared properties. Objects are created by using constructors in new expressions; for example, new Date(2009,11) creates a new Date object. Invoking a constructor without using new has consequences that depend on the constructor. For example, Date() produces a string representation of the current date and time rather than an object.
Every object created by a constructor has an implicit reference (called the object‘s prototype) to the value of its constructor‘s ―prototype‖ property. Furthermore, a prototype may have a non-null implicit reference to its prototype, and so on; this is called the prototype chain. When a reference is made to a property in an object, that reference is to the property of that name in the first object in the prototype chain that contains a property of that name. In other words, first the object mentioned directly is examined for such a property; if that object contains the named property, that is the property to which the reference refers; if that object does not contain the named property, the prototype for that object is examined next; and so on.
In a class-based object-oriented language, in general, state is carried by instances, methods are carried by classes, and inheritance is only of structure and behaviour. In ECMAScript, the state and methods are carried by objects, and structure, behaviour, and state are all inherited.
All objects that do not directly contain a particular property that their prototype contains share that property and its value.
(...)
Unlike class-based object languages, properties can be added to objects dynamically by assigning values to them. That is, constructors are not required to name or assign values to all or any of the constructed object‘s properties.
En definitiva, JavaScript no está pensado para soportar los POO clásica que conocemos de Java, C++ y otros lenguajes.

Sino que los objetos en JavaScript están basados en prototipos (simplifcando la creación a partir de la clonación de otro objeto de esa clase). En definitiva cuando yo creo un nuevo objeto en JavaScript, estoy clonando al objecto object (prototipo/patrón de todo otro objeto). Esto da a lugar para que en JavaScript los estados se puedan "heredar".

Otras de las diferencias importantes que bien marca la especificación es que los objetos son dinámicos, es decir que sus propiedades pueden añadirse dinamicamente, osea que no existe una definición previa
  #19 (permalink)  
Antiguo 28/10/2013, 01:02
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: En javascript que es un objeto

realmente que buena discusión esto esta para debatir y aprender mucho
realmente algunos saben mucho

Etiquetas: objeto, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:47.