1 분 소요

📖 모던 자바스크립트 Deep Dive

**모던 자바스크립트 Deep Dive (이웅모 저)**

모던 자바스크립트 Deep Dive (이웅모 저)


스터디 진행 방식

  • 자바스크립트 책으로 격주간 공부할 범위를 스터디원들과 함께 결정
  • 격주에 한 번 공부한 내용을 바탕으로, 회고록 발표 및 팀원 중 한명이 이론을 구현한 코드 리뷰 + (지난 발표때 팀원이 구현한 코드를 자신이 구현해와서 코드 리뷰)
  • 자신이 구현한 코드는 나머지 팀원들이 다음 발표 전까지 똑같이 구현 해와야 함 (컨닝 X).

기타

  • 가끔 나도 회고록 발표함. 그리고 내가 문제 낼 수도 있음.

    문제 예시) 💻 비동기 요청 처리

  • 정원 - 최대 3명


회고록 및 코드 구현 예시

회고록 예시.hwp

// 정규표현식을 이용한 아이디, 비밀번호 유효성 검사

const id = document.querySelector("#id");
const password = document.querySelector("#password");
const toggle = document.querySelector("#toggle");
const submit = document.querySelector("#submit");
const paragraph = document.querySelector("p");

let onToggle = true;

toggle.onclick = () => {
  if (onToggle) {
    toggle.textContent = "invisible";
    password.type = "text";
  } else {
    toggle.textContent = "visible";
    password.type = "password";
  }

  onToggle = !onToggle;
};

submit.onclick = () => {
  try {
    const { statusID, statusPWD } = checkReg(id.value, password.value);

    if (statusID && statusPWD) {
      paragraph.textContent = "Success!";
    } else {
      paragraph.textContent = `ID: ${statusID}, PW: ${statusPWD}`;
    }
  } catch (e) {
    console.log(`Error: ${e}`);
  }
};

function checkReg(id, password) {
  /**
   * ^: ~로 시작
   * (?:) 비포괄적 괄호, 기억하지 않기때문에, 실패시 바로 탈락
   * (?=.*[A-Za-z]) 임의의 문자가 0개이상 반복되고, 문자가 최소 하나 포함되어 있는지 확인
   * (?=.*\d) 임의의 문자가 0개이상 반복되고, 숫자가 최소 하나 포함되어 있는지 확인
   * [A-Za-z\d].{n,} 대괄호 내부의 문자와 숫자가 n번 이상 반복되었는지 확인
   */
  const regExpID = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d].{3,}$/;
  const regExpPW =
    /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]*$/;
  const status = { statusID: checkID(), statusPWD: checkPWD() };

  return status;

  function checkID() {
    if (id.length >= 4 && regExpID.test(id)) {
      return true;
    }
    return false;
  }

  function checkPWD() {
    if (password.length >= 8 && regExpPW.test(password)) {
      return true;
    }
    return false;
  }
}


01장 프로그래밍

02장 자바스크립트란?

03장 자바스크립트 개발 환경과 실행 방법

04장 변수

05장 표현식과 문

06장 데이터 타입

07장 연산자

08장 제어문

09장 타입 변환과 단축 평가

10장 객체 리터럴

11장 원시 값과 객체의 비교

12장 함수

13장 스코프

14장 전역 변수의 문제점

15장 let, const 키워드와 블록 레벨 스코프

16장 프로퍼티 어트리뷰트

17장 생성자 함수에 의한 객체 생성

18장 함수와 일급 객체

19장 프로토타입

댓글남기기