입력조건 1. 이름은 필수로 입력해야 한다. 2. 닉네임은 2~5글자로 구성해야 한다. 3. 이메일 형식을 지켜야 한다. 4. 비밀번호는 영어+숫자+특수문자를 조합해야 한다. 5. 비밀번호와 비밀번호 확인 란에 동일한 문자를 입력해야 한다. 이런 기능을 유효성 검사라고 부른다. HTML 코드 회원 가입 이름
일반 함수와 화살표 함수 비교 // 일반 함수 function sum(a, b) { return a + b; } // 화살표 함수 let sum = (a, b) => { return a + b; } // 단순한 리턴문일 경우, 더 심플하게 표현 가능 let sum = (a, b) => a + b; ES6부터 화살표 함수(Arrow Function)이라는 문법이 추가되었다. => 기호를 사용해서 function 키워드 생략 가능! • 화살표 함수 문법 - 화살표 함수 선언 // 매개변수 지정 방법 () => { ... } // 매개변수가 없을 경우 x => { ... } // 매개변수가 한 개인 경우, 소괄호를 생략할 수 있다. (x, y) => { ... } // 매개변수가 여러 개인 경우, 소괄호를 생..
클로저를 이해하기 전, 알아야 될 내용이 많다,, 클로저만 봤다가 몇시간을 헤맨지 모르겠다 ㅎ • 실행 컨텍스트와 스코프 체인 메인은 클로저니까 간단하게만 이해해보자. - 실행 컨텍스트(Execution Context)우리가 작성한 코드가 실행되는 환경으로, 실행할 코드에 제공할 환경 정보들을 모아놓은 객체 글로벌 실행 컨텍스트(Global Execution Context)코드가 실행되기 전 생성되는 것(전역 실행 컨텍스트)모든 스크립트 코드는 전역 실행 컨텍스트 안에서 실행됨프로그램에 단 한개만 존재하고, 실행 컨텍스트의 기본함수 실행 컨텍스트 (Function Execution Context)전역 실행 컨텍스트가 생성된 후, 함수가 실행될 때마다 새로운 실행 컨텍스트가 작성됨함수 내에 존재하는 코드로..
JavaScript에서 this는 다른 언어와 다르게 동작함 다른 언어에서는 일반적으로 this는 자신을 가리키는 참조 변수로 사용됨 JavaScript에서는 this에 바인딩되는 객체는 한가지가 아니라 함수 호출 방식에 따라 달라짐 대부분의 경우, this의 값은 함수를 호출하는 방법에 의해 결정됨 -> this가 사용된 함수가 어디서 어떻게 실행되었는지가 중요!! 누가 this를 불렀는지를 알면 조금 쉬울지도..? 브라우저의 콘솔 창에 this를 호출하면 이런 실행 결과가 나온다 window 객체가 브라우저의 전역 객체이기 때문! - this 바인딩 규칙 함수 실행 시 전역객체(window) 할당 메소드 호출 시 메소드를 소유하고 있는 해당 객체 할당 객체 생성 시 생성된 객체 할당 • 전역에서 사용..
자바스크립트에 대해 깊게 공부하기 위해서는 자바스크립트의 동작원리를 알아야한다. 기본적으로 단일 스레드여서 비동기 작업이 불가능할 것 같지만 전혀 아니다! 그 이유에 대해 알아보자. • JavaScript 엔진 JavaScript 파일은 컴퓨터가 해석할 수 없으므로 브라우저의 JavaScript 엔진이 해석해준다. 이 때, memory heap과 call stack을 사용해서 JavaScript를 기계어로 변환해준다. - Memory Heap? 메모리 할당이 일어나는 곳 변수, 함수, 객체 등 모든 메모리 할당은 여기서 발생함 - Call Stack? call = function 호출 stack = 쌓이는 곳(Last In First Out) 즉, 함수 호출이 쌓이는 곳으로 call stack을 통해 어..
단순 정보 전달만이 목적인 정적인 웹을 개발하려면 HTML, CSS로 충분하겠지만동적인 웹을 개발하기 위해서는 자바스크립트와 DOM은 필수이다. • DOM이란?Document Object Model의 약자로 해석하면 문서 객체 모델(Document = 웹 페이지 자체)HTML 요소에 접근할 수 있도록 API를 제공하는 일종의 인터페이스DOM을 이용하면 HTML로 구성된 웹 페이지를 동적으로 움직이게 만들 수 있음계층 구조로 표현됨 (트리 자료 구조로 구축)HTML 문서는 하나의 최상위 노드(root 노드)에서 시작해서 자식 노드들을 가짐(노드? -> root 노드를 포함한 하나하나 요소를 뜻함) • JavaScript와 DOM의 관계DOM = JavaScript 라고 오해할 수 있지만 아니다.DOM은 어..