목록Challenge/엘리스 SW Engineer 2기 (43)
JAMONGPROJECT
1.타입스크립트, 선택적 매개변수, 나머지 매개변수 // 타입스크립트에서의 함수 매개변수는 변수에서의 매개변수 설정과 동일합니다. // 다만 입력값도 타입이 있고, 출력값도 타입이 있어야 하므로 신경써야겠죠? function addTwo(a: number, b: number): number { return a + b; } console.log(addTwo(2, 3)) // 한 개의 매개변수가 들어올 수도 있고, 두 개의 매개변수가 들어올 수도 있습니다. // ?를 사용하는 것을 제외하면, 위 함수와 동일하게 작성합니다! function addOneOrTwo(a: number, b?: number): number { if (b) { return a + b; } else { return a; } } cons..
https://medium.com/code-states/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4-%EA%B0%9C%EB%B0%9C%EC%9E%90-%EC%99%B8%EC%97%90-%EB%90%A0-%EC%88%98-%EC%9E%88%EB%8A%94-23%EA%B0%80%EC%A7%80-%EC%A7%81%EC%97%85-991d5175ac13
try / catch 예외 처리를 위한 문법 ( 실무에서는 예외 처리를 하는 것이 매우 중요함.) await가 promise를 벗겨주면서 기다리게 함 async function getUsers() { /* fetch 함수를 이용해서 users 정보를 가져옵니다. 최종적으로 호출될 URL : https://jsonplaceholder.typicode.com/users */ const res = await fetch(`${HOST_NAME}/users`); const users = await res.json(); console.log(users); let cnt = 0; // users = [ {}, {}, {} ] // user = {} for (let user of users) { console.log(..
동기 프로그래밍은 렉이 걸림 javascript는 싱글 쓰레드(일꾼 한명)로 동작함 프로세스 : 우리가 기본적으로 사용하는 프로그램이라는 개념과 같음 쓰레드 : 프로그램 내에서 동작하는 일꾼 (면접 때 많이 물어봄) 브라우저에서는 멀티쓰레드로 동작하기도 함. setTimeout(function, second) function을 second만큼 뒤에 실행함. 스택은 쌓이다가 가장 최근의 자료가 사라짐 큐는 선입선출 태스크 큐 (task queue)는 업무 임시 저장소와 같은 개념임. 콜 스택에서 실제로 업무가 실행됨. Web API에 저장되는 것들 -> settimeout , setinterval , ajax(비동기의 대명사) settimeout이 5초 뒤에 실행하라고 명령해도 콜스택이 많이 쌓여있으면 5..
let도 호이스팅이 된다. 호이스팅이란 ? 변수 선언부분만 상단으로 끌어올려지는 현상 변수 값 입력은 나중에 된다. 클로저란? 함수가 선언되었을 당시의 렉시컬 환경을 기억하는 것. 함수가 실행되고 소멸되더라도 참조할 수 있는 영역은 남아있다. 전역변수를 잘 쓰지 않는 이유 - 이후에 관리가 힘들다. 그래서 함수 내부에서 선언을 많이함. 그래서 클로저 개념이 필요하다. 단점 : 메모리가 계속 유지되기 때문에 메모리 누수 현상이 일어난다. 클로저 예제 function clickHandler() { let count = 0; const increase = function () { console.log(++count); }; const decrease = function () { console.log(--cou..
./ -> 현재 폴더를 의미 ../ -> 상위 폴더를 의미 import / export : 로 가져옴 리액트에서 component 개념을 많이 쓰기때문에 숙지. const로 정의하면 객체의 주소 기준으로 고정이 되는 것임. 따로 공부하자. JSON.parse(JSON.stringify(person)) 딥카피 방식 클래스 활용 class Person { firstName; lastName; age; // 생성자 constructor(name, age) { this.setName(name) this.age = age; } setName(name) { let tmp = name.split(" "); if (tmp.length < 1) { console.log("Error: wrong input!"); retu..
window.onload = function () { var el = document.getElementById("change_heading"); el.innerText = "카 레이싱 대회"; //2. ``내에 있는 색 팔레트에 마우스 커서를 갖다댈 때 `index.html`에 ``태그에 None!을 해당하는 색깔로 대체하는 코드를 작성하세요. var section = document.querySelector("section"); let brown = document.querySelector(".brown"); let green = document.querySelector(".green"); let blue = document.querySelector(".blue"); let yellow = docum..
console.log 생활화하기!! textcontent (최신버전) innerText (구버전) main.innerText += ""; main.innerText = main.innerText + ""; 둘은 같다. 모달 코드 function showProfileModal() { let profileModal = document.createElement("div"); let profileImg = document.createElement("img"); profileImg.src = "https://blogpfthumb-phinf.pstatic.net/20110901_251/newborn18_1314817631012_SX9V6o_jpg/%EF%BF%BD%EF%BF%BD%EF%BF%BD%EF%BF%BD09..