2023-07-05 TIL (정예반 3차 강의 수강)

오준석·2023년 7월 5일
0

TIL (Today I Learned)

목록 보기
37/105

<정예반 3차 강의>

어제 메모장에 적었던 for문과 map 메서드 활용 숙지

// 1번
app.get('/posts-writers', (req, res) => {
  for (let i =0; i < posts.length; i++) {
    posts[i].작성자 = posts[i].작성자.substring(0, 1) + "XX"
  }

------------------------------------------------
// 2번 
  const writers = posts.map((post) => {
      return post.작성자 
  })

  res.send(writers)

오늘의 코드 연습

// 1. for문으로 배열 뽑아내기 
const users = []
for (let i = 0; i < posts.length; i++) {
    users.push(posts[i].user)
}
console.log(users)

// 2. map 으로 배열 뽑아내기 
const users2 = posts.map((a) => {
    return a.user
})
console.log(users2)

// 3. map 으로 배열 뽑아내기 (축약형)
const users3 = posts.map(a => a.user)
console.log(users3)

설정 - 바로가기 키

통신 : 요청 ↔ 응답

  • 요청 : req, header, body
  • 응답 : res, header, body

get → 얻다
post → 추가
put → 수정
delete → 삭제

json 과 object

object는 자바스크립트과 지원하는 key - value 형식의 객체
json은 문자열인데 json형식에 맞게 쓴 스트링이다.

<숙제>
user와 title, contents 유효성 검사 해보기
app.put / app.delete 해보기


<비동기 처리>

: 자바스크립트의 비동기 처리란 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 자바스크립트의 특성을 의미

async function 함수명() {
  await 비동기_처리_메서드_명();
}

함수의 앞에 async 라는 예약어를 붙입니다. 그러고 나서 함수의 내부 로직 중 HTTP 통신을 하는 비동기 처리 코드 앞에 await를 붙입니다. 여기서 주의하셔야 할 점은 비동기 처리 메서드가 꼭 프로미스 객체를 반환해야 await가 의도한 대로 동작.

일반적으로 await의 대상이 되는 비동기 처리 코드는 Axios 등 프로미스를 반환하는 API 호출 함수이다.

더블 별표() — Exponentiation**

Exponentiation 의 뜻이 한글로 누승법 이라고 나오던데, 개인적으로 처음 듣는 단어라 영어 단어를 그대로 인용했다.

어쨌든, asterisk(*) 라고 불리는 이 연산자는 무슨 역할이냐면 Math.pow 와 완전히 같은 기능을 수행한다.

2 ** 3 === Math.pow(2, 3) // 8
-(2 ** 2) === -Math.pow(2, 2) // -4
10 ** -1 === Math.pow(10, -1) // 0.1

여러 개를 중첩해서 사용할 수도 있다.

2 ** 3 ** 4 === Math.pow(2, Math.pow(3, 4))

Javascript는 싱글 스레드 언어라고 들어본 적이 있을 것이다. '싱글' 스레드라 한 번에 하나의 작업만 수행이 가능하다. 반면 Java 나 Python은 멀티 스레드를 지원하여 원하는 코드 로직을 동시에 수행 시키는 멀티 작업이 가능

<Node.js 심화주차>

10분 정도 초반부 강의 수강.

좋은 코드란 가독성이 좋은 간결한 코드

profile
개발자를 목표로 열심히 하려고 합니다.

0개의 댓글