본문 바로가기

Tech Interview/Javascript10

#10. 객체 객체 생성 일반적인 방법 var emptyObject = {}; console.log(typeof emptyObject); // object var person = { name: 'Lee', gender: 'male', sayHello: function () { console.log('Hi! My name is ' + this.name); } }; console.log(typeof person); // object console.log(person); // {name: "Lee", gender: "male", sayHello: ƒ} person.sayHello(); // Hi! My name is Lee Object 생성자 함수 // 빈 객체의 생성 var person = new Object(); // .. 2020. 2. 13.
#9. async & await 앞서 Promise에 대해 살펴보았습니다. Promise도 문제점을 갖고 있는데 아래와 같습니다. 디버깅의 어려움 코드의 가독성(들여쓰기) 이러한 Promise의 문제점을 해결하기 위해 ES7에서 async & await가 추가되었습니다. async & await 를 사용하면 비동기 코드를 마치 동기 코드처럼 보이게 작성할 수 있습니다. function fetchUser() { var url = 'https://jsonplaceholder.typicode.com/users/1' return fetch(url).then(function(response) { return response.json(); }); } function fetchTodo() { var url = 'https://jsonplacehol.. 2020. 2. 13.
#8. Promise 콜백 지옥 콜백 지옥은 비동기 처리 로직을 위해 콜백 함수를 연속해서 사용할 때 발생하는 문제입니다. step1(function(value1) { step2(value1, function(value2) { step3(value2, function(value3) { step4(value3, function(value4) { step5(value4, function(value5) { // value5를 사용하는 처리 }); }); }); }); }); 콜백 지옥은 코드의 가독성을 나쁘게 하며 작업자의 실수를 유발합니다. 또한 로직을 변경하는 것도 어렵습니다. ES6에서 이러한 콜백 지옥을 해결하기 위해 Promise가 도입되었고, Promise를 살펴보려고 합니다. Promise Promise는 현재에는 당.. 2020. 2. 12.
#7. 콜백 함수와 콜백함수를 이용한 비동기 처리 콜백 함수 function getUser(id) { const user = { id: id, name: "Rman1992" + id, email: id + "@email.com" }; return user; } const user = getUser(1); console.log("USER:", user); 위의 코드는 id를 인자로 받아 임의의 유저 객체를 리턴하는 함수입니다. 실행결과는 아래와 같습니다. function getUserByCallback(id, cb) { const user = { id: id, name: "User" + id, email: id + "@test.com" }; cb(user); } getUserByCallback(1, function(user) { console.log("u.. 2020. 2. 12.