Title | Aprendiendo javascript - carlos azaustre-freelibros |
---|---|
Author | ABEL DE ANDRÉS GÓMEZ |
Course | Programación |
Institution | Universidad Politécnica de Madrid |
Pages | 91 |
File Size | 2.7 MB |
File Type | |
Total Downloads | 68 |
Total Views | 153 |
Download Aprendiendo javascript - carlos azaustre-freelibros PDF
AprendiendoJavaScript
TableofContents Introduction
0
Sobreéstelibro
1
HistoriadeJavaScript
2
Orígenes
2.1
Node.js
2.2
Tiposdevariables
3
Definición
3.1
Tipos
3.2
Operadores
4
Operadoresaritméticos
4.1
Operadortypeof
4.2
Operadoresbooleanos
4.3
Operadoreslógicos
4.4
Condicionales
5
Asignacióncondicional
5.1
SentenciaIF
5.2
SentenciaSWITCH
5.3
ClasesCoreyMódulosdeJavaScript
6
Object
6.1
Number
6.2
Array
6.3
String
6.4
Funciones
7
Parámetrospordefecto
7.1
Ámbitosdeunafunción
7.2
Clousures
7.3
Funcionescomoclases
7.4
2
AprendiendoJavaScript ClasesenECMAScript6
7.5 8
Bucles BucleWhile
8.1
BucleDo/While
8.2
BucleFor
8.3
BucleForEach
8.4
BucleForIn
8.5
JSON
9
AJAX
10
XMLHttpRequest
10.1
FetchenECMAScript6
10.2 11
Eventos Manejandoeventos
11.1
Propagacióndeeventos
11.2
PatrónPubSub
11.3
PatrónPubSubconDatos Websockets
11.3.1 11.4
Promesas
12
DOMDocumentObjectModel
13
¿QuétraenuevoECMAScript6?
14
Recapitulación
15
3
AprendiendoJavaScript
AprendiendoJavaScript Aprendelasbasesdellenguajewebmásdemandado.DesdecerohastaECMAScript6. Copyright©2015-2016CarlosAzaustreporlaobraylaedición. 1ªEdición:Abril2016 Versión1.2:19deAbrilde2016 Versión1.1:4deAbrilde2016 AgradecimientosespecialesaMiguelRuiz,LeonelContrerasyBorjaCampinaporsu feedbackyrevisiónparalaversión1.1deesteebook.Agradecimientosespecialesa ChuchurexyNelsonRojasporsusaportesparalarevisión1.2deesteeBook. Estelibroestáalaventaenhttp://leanpub.com/aprendiendojavascript,ytambiénen SellfyyAmazon. Publicadoporcarlosazaustre.es
SobreelAutor CarlosAzaustre(Madrid,1984)DesarrolladorWebyTechnicalBlogger.Amante deJavaScript.Convariosañosdeexperienciatantoenempresasprivadas, StartupsycomoFreelance.ActualmenteesCTOyCo-FundadordelaStartup Chefly IngenieroenTelemáticaporlaUniversidadCarlosIIIdeMadridyconestudiosde MásterenTecnologíasWebporlaUniversidaddeCastilla-LaMancha(España). Fueradelaeducaciónformal,esunamantedelautoaprendizajeatravésde internet.Puedesseguirsusartículosytutorialesensublogcarlosazaustre.es
Otroslibrospublicados DesarrolloWebágilconAngularJS.
Introduction
4
AprendiendoJavaScript
Aprendebuenasprácticaseneldesarrollodeaplicacioneswebconelframeworkde JavaScriptAngular.jsAutomatizatustareascotidianasenelFrontendconelgestor GulpJS Publicación:Agosto2014 Páginas:64 Lenguaje:EdicionesenEspañoleInglés Autores:CarlosAzaustre(EricaHuttnertraducciónenInglés) ComprarenSellfy ComprarenAmazon
InstantZurbFoundation4
Introduction
5
AprendiendoJavaScript GetupandrunninginaninstantwithZurbFoundation4Framework ISBN:9781782164029(Septiembre2013) Páginas:56 Lenguaje::Inglés Autores:JorgeArévaloyCarlosAzaustre ComprarenAmazon
Introduction
6
AprendiendoJavaScript
Sobreestelibro JavaScriptesellenguajedelaweb.Sinecesitasprogramarenunnavegadorweb, necesitasJavaScript.Bienesciertoquepuedesutilizarotroslenguajes,comoDart,pero elestándaresJavaScript. GraciasaéltenemosaplicacionescomoGmail,oTwitter,quesonfuertemente dinámicasyhacenquelaexperienciadeusoseamuchomejorqueantaño,cuandolas páginaswebteníanquerecargarsecadavezquerealizábamosunaacción. Esunlenguajemuydemandadoenlaindustriahoyendía,yaqueademásdeutilizarse enelnavegador,tambiénpuedeusarseenelladodelservidor(Node.js).Conlamultitud deframeworksqueexistenpuedencrearseSinglePageApplicationsqueemulanla experienciadeunaaplicaciónmóvilenelnavegador.Tambiénpuedencrearse aplicacioneshíbridasconherramientascomoIonicyCordova.¿Hasoídohablardel desarrollobasadoencomponentes?TesonaránentoncesPolymery/oReact.Con ReactNativepuedescrearaplicacionesnativasparaiOSyAndroidconúnicamente JavaScript.¿AplicacionesIsomórficas?HoyendíatodoesposibleconJavaScript. Sieslaprimeravezqueteincursasenelmundoweb,tepuederesultarabrumadorala cantidaddeherrmaientas,preprocesadores,frameworks,etc..Perosiempreque empezamos,cometemoselmismoerror.Aprendemoslaherramientaantesqueel lenguaje. Poresomeheanimadoaescribiresteebookqueestásleyendoahoramismo.Para enseñartedesdelasbaseshastalasmásrecientesnovedadesypatronesdediseño utilizandoJavaScriptpuro(TambiénllamadoVanillaJS).Unavezconoceslasbasesdel lenguaje,yapuedesadentrarteencualquierherramientadelmundoweb. RecientementefueaprobadoelestándarECMAScript6,lanuevaversióndeJavaScript (ActualmenteutilizábamoslaversiónECMAScript5.1)quetraemuchasnovedades.En esteebooknohequeridodejarlodeladoyhablodecualeselequivalenteencódigo entrelaversiónanteriorylapresente/futura. Esperoquedisfrutesdelebooktantocomoyolohehechoescribiéndoloparatiyte sirvaparatucarreraprofesional.Cualquiercosaquenecesitesmeencuentrasenmi blog: CarlosAzaustreBlog|WebDeveloper-TechnicalBlogger
Sobreéstelibro
7
AprendiendoJavaScript Yenlasredessociales: SíguemeenTwitter@carlosazaustre SíguemeenFacebook EstoyenInstragram@carlosazaustre TambiénenGoogle+con+CarlosAzaustre SnapeaconmigoenSnapchat:cazaustre Sinmás,tedejoconelebook.¡Disfrutayaprende!
Sobreéstelibro
8
AprendiendoJavaScript
BrevehistoriadeJavaScript Antesdeempezarconlasparticularidadesdellenguaje,esconvenienteconocerun pocodehistoria.DedóndevieneJavaScriptycómohacrecidosupopularidadenlos últimosaños.¡Prometoserrápidoypasarcuantoantesalcódigo!
Orígenes En1995,BrendanEich(ex-CEOdeMozilla)desarrollóloqueseríalaprimeraversión deJavaScriptparaelnavegadorNetscapeNavigator.Enaquelmomentosellamó MochaydespuésfuerenombradoaLiveScript.ElnombredeJavaScriptseledió debidoaqueNetscapeañadiócompatibilidadconJavaensunavegadoryerauna tecnologíamuypopularenaquelmomento.AdemásNetscapefueadquiridaporSun Microsystems,propietariadelamarcaJava.Estosuponequehoyendíahayauna pequeñaconfusiónymuchagenteconfundaJavaconJavaScriptoloconsidereuna extensióndellenguaje,peronoescierto,hayqueaclararqueJavayJavaScriptno tienennadaquever. En1997secreauncomité(llamadoTC39)paracrearunestándardeJavaScriptporla EuropeanComputerManufacturersAssociation,ECMA.Enesecomitésediseñael estándardelDOM,DocumentObjectModelpara,deestamanera,evitar incompatibilidadesentrelosnavegadores.Esapartirdeentoncescuandolos estándaresdeJavaScriptserigenporECMAScript.
HistoriadeJavaScript
9
AprendiendoJavaScript En1999seestandarizalaversión3deJavaScriptquesemantuvovigentehastahace relativamentepoco.Huboalgunosintentosdelanzarunaversión4,perolaque finalmenteseestandarizóysiguehastaelmomentoeslaversión5deECMAScript, aprobadaen2011. EnJuniode2013elborradordelaversión6sequedóparado,peroendiciembrede 2014finalmentefueaprobadoyseestandarizóenJuliode2015.
JavaScriptfuediseñadoparaañadirefectosyanimacionesalossitiosweb,perohaido evolucionandomuchololargodelosaños,convirtiéndoseenunlenguaje multipropósito.Esapartirde2005,conlallegadadeGMailysuusodelatecnología AJAX,AsynchronousJavaScriptAndXML(graciasalobjetoXMLHttpRequestcreado porMicrosoftparaInternetExplorer5.0),loquelanzósupopularidad.
Node.js En2009,RyanDahlcreóNode.js.NodeesunentornodeejecuciónparaJavaScripten elservidorapartirdelmotorV8derenderizadodeJavaScriptqueutilizaelnavegador ChromedeGoogle.Nodefacilitalacreacióndeaplicacionesdeservidoraltamente escalables.HoyendíaesmuypopularparaeldesarrollodeMicroservicios,APIs, aplicacioneswebFull-stack,isomórficas,etc...Sucomunidadesmuygrande,ysu sistemadepaquetesylibreriasNPM,NodePackageManager,(Aunquehoyendíaya nosoloenglobapaquetesdeNode,tambienparaJavaScriptdelladocliente)ha superadolos150.000módulos,conviertiéndoloenelmásgrandedetodospordelante deJava,Ruby,PHP,etc...
HistoriadeJavaScript
10
AprendiendoJavaScript
Fuente:ModuleCounts HoyendíaJavaScriptseutilizaenmuchossitios,Frontend,Backend,aplicaciones isomórficas,microcontroladores,InternetofThings,wearables,etc...Convirtiéndoleen ellenguajedeprogramacióndelpresente. Recientemente(22deMarzode2016),lawebStackoverflowpublicóuninformeapartir deunaencuestarealizadaalosdesarrolladoresusuariosdesuplataformadonde resultóqueJavaScriptesellenguajemásutilizadoenelmundo,nosólopor desarrolladoresdeFrontendsinotambiéndeBackend. TodaladocumentaciónyreferenciasobreJavaScriptsepuedeencontrarenelsitioweb dedesarrolladoresdeMozillaLink,muyrecomendabledevisitarcuandosetienen dudassobrecómoseusaoimplementaunafunciónuobjetodeterminado.
HistoriadeJavaScript
11
AprendiendoJavaScript
Tiposdevariables JavaScriptesunlenguajedébilmentetipado.Estoquieredecirquenoindicamosdequé tipoescadavariablequedeclaramos.Todaslasvariablesadmitentodoslostipos,y puedenserreescritas.EsunadelascosasbuenasymalasquetieneJavaScript.
Definición Lasvariablessonespaciosdememoriadondealmacenamostemporalmentedatos desdelosquepodemosaccederencualquiermomentodelaejecucióndenuestros programas.Tienenvariostiposyclasesqueveremosacontinuación. ParadefinirunavariableenJavaScript,utilizamoslapalabrareservada varyledamos unnombre,porejemplo: varmiDato;
Tambiénlepodemosasignarunvalorenlamismalíneaqueladeclaramos,por ejemplo,acontinuaciónalavariable datoleasignamoselvalor 5: vardato=5;
Opodemosprimerodeclararlavariableymásadelante,enotralínea,asignarleun valor: vardato; dato=5;
Debemosintentarquelosnombresdelasvariablesseanlomásdescriptivosposibles, demaneraqueconsololeerlossepamosquecontienenyasínuestrosdesarrollos seránmáságiles. Losnombresdelasvariablessiemprehandecomenzarporunaletra,elsímbolo $o _,nuncapuedencomenzarpornúmerosuotroscaracteresespeciales.JavaScript
tambiéndistingueentremayúsculasominúsculas,portantonoeslomismo miDato
Tiposdevariables
12
AprendiendoJavaScript que MiDatoo miDato,paraJavaScriptsonnombresdiferentesylastratarádemanera diferente.
Tipos JavaScripttiene4tiposprimitivosdedatosparaalmacenarenvariables.Estosson: number boolean string undefined
number Sirveparaalmacenarvaloresnuméricos.Sonutilizadosparacontar,hacercálculosy comparaciones.Estossonalgunosejemplos: varmiEntero=1; varmiDecimal=1.33;
boolean Estetipodedatoalmacenaunbitqueindica trueo false.Losvaloresbooleanosse utilizanparaindicarestados.Porejemplo,asignamosaunavariableelestado falseal iniciodeunaoperación,yalfinalizarlalocambiamosa true.Despuésrealizamosla comprobaciónnecesaria. varsi=true; varno=false;
string Lasvariablesdetipostringalmacenancaracteresopalabras.Sedelimitanentre comillassimplesodobles.Ejemplo: vardato="Estoesunstring"; varotroDato='Estoesotrostring';
Tiposdevariables
13
AprendiendoJavaScript
undefined Estetiposeutilizacuandoelvalordeunavariablenohasidodefinidoaúnonoexiste. Porejemplo: vardato;//suvaloresundefined vardato=undefined;
OtrotipodealmacenamientodedatosquetieneJavaScriptsonlosObjetos.En JavaScripttodoesunobjeto,hastalasfunciones.Todoheredadelaclase Object.Se puedendefinircomounaestructuradondeseagreganvalores.Dentrodelasclasesque heredande Objecttenemos Array, Date,etc...queveremosmásadelante.
Tiposdevariables
14
AprendiendoJavaScript
Operadores Operadoresaritméticos JavaScriptposeeoperadoresparatiposyobjetos.Estosoperadorespermitenformar expresiones.Lasmáscomunessonlasoperacionesaritméticas. Sumadenúmeros: 5+2 Resta: 5-2 Operacionesconparéntesis: (3+2)-5 Divisiones: 3/3 Multiplicaciones: 6*3 Eloperadorsuma +tambiénpuedeusarseparaconcatenarstringsdelasiguiente manera: "Hola"+"mundo"+"!"tendrácomoresultado "Holamundo!". JavaScripttambiénposeelosoperadorespostypreincrementoydecrementoque añadenunoorestanunoalavariablenuméricaenlaqueseaplican.Dependiendosi sonpreopost,lavariableesautoincrementadaodecrementadaantesodespuésdela sentencia.Veamosunejemplo: varx=1;//x=1 vary=++x;//x=2,y=2 varz=y+++x;//x=2,y=3,z=4
Comovemosenelejemplo,lasentencia y=++xloquehaceesincrementarx,que valía1ypasaatenerelvalor2,ylaasignación y=++xhaceque yvalgaloque x, esdecir2. Enlaúltimasentenciatenemosunpostincremento,estoloquehaceesprimeroevaluar laexpresiónydespuésrealizarelincremento.Esdecirenelmomentodelaasignación z=y+++x, yvale2y xtambién2,porlotanto zvale4,ydespuésdeesta
asignación yesincrementadapasandoatenerelvalor3.
Operador typeof
Operadores
15
AprendiendoJavaScript Eloperador typeofesunoperadorespecialquenospermiteconocereltipoquetiene lavariablesobrelaqueoperamos.Ejemplos: typeof5;//number typeoffalse;//boolean typeof"Carlos";//string typeofundefined;//undefined
Estoesmuyutilparaconocerenunmomentodadoquetipoestamosutilizandoy prevenirerroreseneldesarrollo.
Operadoresbooleanos Lostiposbooleanossólotienendosvaloresposibles: truey false(Verdaderoy Falso).Perodisponendevariosoperadoresquenospermitentransformarsuvalor.
Negación Esteoperadorconvierteunvalorbooleandoensuopuesto.Serepresentaconelsigno !.Siseutilizadosveces,nosdevuelveelvalororiginal.
!true=false !false=true !!true=true
IdentidadoIgualdad Eloperadordeigualdad(oigualdaddébil),serepresentacon ==yeldeidentidad(o igualdadestricta),con ===.Serecomiendaelusodeloperadordeidentidad(los3 iguales)frentealdeigualdaddébil,yaqueelcostedeprocesamientodeésteúltimoes muchomayorysusresultadosenocasionessonimpredecibles.Esunadelaspartes malasdeJavaScript,perosisetienecuidadonotieneporquédarnosningúnproblema. Ladesigualdadestrictaserepresentacon !==. true===true//true true===false//false true!==false//true true!==true//false
Operadores
16
AprendiendoJavaScript
Comparación Podemoscompararsidosvaloressonmenores,mayoresoigualesconlosoperadores decomparaciónrepresentadosporlossímbolos , =.Elresultadodela comparaciónnosdevuelve trueo falsedependiendodesiescorrectoono. 5>3//true 5=3//true 2...