목록개발 (301)
배열 관련 메서드 : map / filter / sort / reduce 문자열 관련 메서드 : slice / substring / substr/ split / join slice / substring / substr 차이 map map 메서드 역시 배열을 순회하는 메서드이다. 다만, 모든 순회(반복) 과정에서 return 값이 존재해야 하며, 없을 경우 'undefined'를 반환한다. // map 예시 const arr = [1,2,3,4,5] arr.map((el) => { if(el % 2 == 0 ){ // 부여한 조건 return el } }) // 반환값 : [ undefined, 2, undefined, 4, undefined ] 추가적으로 꼴보기 싫은 undefined를 단번에 제외하려면..
서버 서버는 백엔드 컴퓨터나 DB컴퓨터처럼 특정된 것이 아니라, 클라이언트로 '요청을 받는' 모든 것들을 의미한다. 반대로 클라이언트 또한 브라우저나 사용자로 특정된 것이 아닌, '요청하는' 모든 것들이라 볼 수 있다. 클라이언트와 서버 사이의 관계를 가볍게 요약하자면 다음과 같다. 괄호 안 숫자 == 포트번호 프론트엔드 (3000) 백엔드 (4000) DB (3306) 브라우저 컴퓨터 / 프로그램 HTML / CSS / JS 요청 및 응답 프론트엔드 컴퓨터 / 프로그램 API 요청 및 응답 백엔드 컴퓨터 / 프로그램 DB / 해당데이터 요청 및 응답 포트 이때, 각각의 컴퓨터/프로그램은 프론트엔드(3000), 백엔드(4000), DB(3306) 포트번호를 가지고 있으며, 이 번호는 무조건적으로 정해진 ..
break : 원하는 구간에서 반복문 종료 // break 예시 for(let i = 0 ; i < 5 ; i++){ if(i===2){ break // break의 경우 switch 반복문에서 항상 사용 } console.log(i) // 0 1 } continue : 해당 구간의 반복문을 실행하지 않음 (생략) // continue 예시 for(let i = 0 ; i < 5 ; i++){ if(i===2){ continue } console.log(i) // 0 1 3 4 } 반복문의 여러 문법 for ~ in // Key ~ in 예시 const obj = { name : 'otter', age : 30 } for(let key in obj){ console.log(key, obj[key]) //..
데이터 통신 기초 HTTP(HyperText Transfer Protocol) : 텍스트 / 하이퍼텍스트(HTML) ( 이때 protocol == 데이터가 다니는 '길') 통신이란, 두 컴퓨터 간 데이터 전송을 의미한다. 통신은, 요청(request)과 응답(response)으로 구성되며, 요청 & 응답은 헤더와 바디로 구분된다. 단 '응답'에는 '상태코드'가 부여되게 되는데, 예시로는 아래와 같다. ex) 200(성공 관련), 400(클라이언트, 요청자 에러 관련), 500(서버, 응답자 에러 관련) JSON (javascript object notation, 자바스크립트 객체 표기법) 데이터 요청과 응답은 JSON 형태로 주고 받게 된다. (stringtify & parse) 이와 관련된 내용은 이전..
Shallow Copy & Deep Copy (얕은 복사 & 깊은 복사) 얕은 복사 : 객체의 주소값(참조값)까지만 복사 깊은 복사 : 객체의 실제 값까지 복사 // 객체 안에 객체가 있을 경우에도 원본과의 참조가 완전히 끊어진 객체를 말함 이중 객체나 이중 배열로 이루어진 경우, 얕은 복사로는 원하는 복사가 되지 않으니, 깊은 복사를 활용해줄 필요가 있다. 깊은 복사 let origin = { name : "otter", favoriteFood : { first : "sushi", second : "hamburger" } } 라고 한다면, const copy = JSON.stringify(origin) const deepCopy = JSON.parse(copy) 하는 형태로 깊은 복사를 해줄 수 있음 ..
// isNaN, Number.isNaN // 숫자 판별에 주로 사용 isNaN("1") isNaN("asd") // NaN 값만 판별 Number.isNaN(NaN) // indexOf const arr= ['a','b','c'] arr.indexOf("a") // 있을 시 인덱스 반환 arr.indexOf("e") // 없을 시 -1 반환 // new Array // 특정길이의 배열을 만들 때 사용 가능 const arr2 = new Array(5) arr2 // fill 빈공간을 채워주는 메서드 arr2.fill("a")
if문과 동일한 역할을 함. 허나 실무에서는 자주 사용되지는 않음 // 스위치-케이스 문법이라고도 부름 const day = '목요일' switch(day) { case "월요일" : // case 는 조건식을 의미함 "월요입입니다." break // break 미처리 시 정상 출력되지 않음 case "화요일" : "화요일입니다." break case "수요일" : "수요일입니다." break default : // 예외 처리할 때 사용 // 맨 아래 있어야 함 "로직에 없는 요일입니다." }