본문 바로가기

자바스크립트3

자바스크립트 정규표현식 (Regular expression) 매번 정규 표현식을 사용할 때마다 제대로 이해하지 못한 코드를 가져다 사용하는 것이 싫어 공부해보기로했다. 이번에는 적어도 핸드폰번호와 이메일 정규 표현식은 내가 직접 만들어야겠다. 정규 표현식 만들기 자바스크립트에서 정규 표현식을 만드는 방법은 두 가지가 있다. 정규식 리터럴을 사용하기const regex = /ab+c/; RegExp 객체의 생성자 함수를 호출하기const regex = new RegExp("ab+c"); 정규식 리터럴을 사용하면 스크립트를 불러올 때 컴파일이 된다. 만약 정규식이 상수라면 리터럴 방식을 사용하는 것이 좋다. 반면 생성자 함수를 호출하는 방식은 런타임시에 컴파일이 된다. 그래서 정규식의 패턴이 동적으로 변해야하는 경우에 생성자함수를 사용하면 된다. 사용자에게서 정규 표.. 2021. 5. 28.
자바스크립트 디자인패턴 - 빌더 패턴(Builder pattern) 빌더 패턴(Builder pattern)이란? 빌더라는 이름처럼 객체를 생성하는 것에 관한 디자인 패턴이다. 객체를 만들어 사용하다 보면 간혹 객체 생성자가 너무 길어지거나 복잡해지는 경우가 생긴다. 이런 경우 빌더 패턴은 객체의 생성 과정을 분리해 순차적이고 직관적으로 만든다. 보너스로 객체를 Immutable하게 유지할 수도 있다. 특징 👍 너무 길어지는 생성자를 피할 수 있음. 👍 코드 가독성의 높임. 👍 객체의 Immutability를 유지할 수 있음. 👎 코드가 길어짐. 문제 상황 const user1 = new User('Andy', 10, null, 30); const user2 = new User('June', 11, 150, null); const user3 = new User('Gary.. 2021. 5. 18.
자바스크립트 호이스팅 (JavaScript hoisting) 이전에 함수 호이스팅에 관해 공부를 하 난 후에 정리하면서 쓴 글이 있다. 그러나 최근에 다시 호이스팅에 대해 공부를 하게 되면서 조금 더 알게 된 내용이 있어 정리하게 됐다. 호이스팅이라는 것은 "끌어올린다"는 뜻이다. console.log(one); console.log(two()); var one = 1; function two(){ return 2; } 위의 코드를 실행시키면 각각 undefined와 2가 결과로 나타난다. C++과 같이 호이스팅이 일어나지 않는 언어를 사용한다면 undefined나 결과가 나올 것이 아니라 정의되지 않는 변수 또는 함수라고 나와야 정상이지만 왜 자바스크립트에서는 이런 결과가 나오는 것인지에 대해 알아보자. 그렇다면 언제, 무엇을 끌어올린다는 것일까? 자바스크립트 .. 2020. 3. 20.