console.log(ellie.name);// ellie : property name 을 알고 있을 때console.log(ellie['name']);// ellie : property name 을 알 수 없을 때 console.log(ellie[name]);// undefinedellie['hasJob']=true;console.log(ellie.hasJob);// true// ellie.name vs ellie.['name']functionprintValue1(obj,key){console.log(obj.key);}functionprintValue2(obj,key){console.log(obj[key]);}printValue1(ellie,'name');// undefinedprintValue2(ellie,'name');// ellieprintValue2(ellie,'age');// 4
constperson5=newPerson('ellie',20);console.log(person5);// object 를 리턴하는 함수functionPerson(name,age){// this = {};this.name=name;this.age=age;// return this;}
In operator: property existence check (key in obj)
constarray=[1,2,4,5];// use for loopfor(leti=0;i<array.length;i++){console.log(array[i]);}// use for...offor(valueofarray){console.log(value);}
Fun cloning
constuser={name:'ellie',age:'20'};constuser2=user;user2.name='coder';console.log(user.name);// coder, why?// old wayconstuser={name:'ellie',age:'20'};constuser3={}for(keyinuser){user3[key]=user[key];}console.log(user3);// { name: 'ellie', age: '20' }// new wayconstuser4=Object.assign({},user);console.log(user4);// { name: 'ellie', age: '20' }// another exampleconstfruit1={color:'red'};constfruit2={color:'blue',size:'big'};constmixed=Object.assign({},fruit1,fruit2);console.log(mexed.color);// blue, 뒤의 값이 앞의 값을 덮어씌움console.log(mexed.size);// big
Promise
Promise is a Javascript object for asynchronous operation
State : pending -> fulfilled or rejected
Promise 의 상태가 수행중(pending)인지, 수행완료(fulfilled...
callback
자바스크립트는 동기적임
호이스팅(hoisting)된 이후 순서대로 실행됨
호이스팅(hoisting) : var, funciton 선언이 제일 위로 올라가는 현상
console.log('1');
console.log('2');
console.log('3');...
HTTP
Client, Server 가 Request, Response 하는 프로토콜
ajax : asynchronous javascript and XML
XHR : XMLHttpRequest ajax 요청을 생성하는 javascript API
XML 은 HTML 와 같은 ...