정규표현식은 자바스크립트 외에도 수많은 언어에서 유용하게 활용할 수 있는 기술이다. 문자를 파싱할 일이 생겨서 각종 반복문, 분기문을 사용해서 힘들게 짜놓은걸 정규식 고수가 와서 한줄로 끝내버리면 그렇게 허탈할 수가 없다. 이번 포스팅에서는 자바스크립트에서 좀 더 다양한 정규표현식 활용법을 알아보자. var phoneNumber = "010-1234-1234"; 정규 표현식을 가장 흔하게 사용하는 때가 휴대전화번호, 이메일 등 양식을 맞출때가 아닐까싶다. -없이 입력한번호에 -를 붙인다거나, -를 붙여 입력한 번호의 -를 지운다거나 할것이다. 예제의 번호에서 -를 지워보자. var phoneNumber = "010-1234-1234"; var pattern = /(\d{3})-(\d{3,4})-(\d{4..
얼마전 ES5 Array 메서드에 관한 포스팅을 올렸다.(http://multifrontgarden.tistory.com/176)유용한 API들이 많이 추가됐는데 Array만 공부하는것보다 한번 훑어보는게 좋을것같아 추가 포스팅을 하게되었다. 사실 난 태생이 자바개발자라... ES5를 완벽하게 파해친다기보다는 알고있으면 유용하게 쓸것 같다고 매우 주관적으로 판단되는 추가사항만 들고왔다. 1. Object1-1. Object.create자바스크립트에서 상속을 이용하기위해서는 생성자 함수를 만든 뒤 프로토타입 체이닝을 이용해야한다. var Human = function(name, age){ this.name = name; this.age = age; }; Human.prototype.introduce = f..
이번엔 클로저에 대해 포스팅을 하려한다. 내가 다룰줄 아는 언어중에(자바스크립트, 자바) 클로저를 완벽하게 지원하는 언어는 자바스크립트 뿐이므로 주로 자바스크립트 예제로 설명할 것이며, 자바의 클로저도 설명하면서 마칠 예정이다. 자바스크립트로 코드를 짜다보면 의도치않은 클로저로 인해 원하는 것과 다른 결과를 얻는 경우가 종종 있다. var arr = []; for(var i = 0; i < 10; i++){ arr.push(function(){ console.log(i); }); } arr.forEach(function(func){ func(); }); arr에 10개의 함수를 담아놓고 아래 라인에서 배열을 순회하며 함수를 호출한다. 보통은 0~9 까지가 출력되길 바란다. 단순 예제지만 DOM(Docum..
자바와 자바스크립트의 관계는 햄과 햄버거, 인도와 인도네시아, 사자와 바다사자 같은 존재라 처음 접하는 사람들은 두 언어가 비슷할거란 기대를 하게되지만, 일부 문법외엔 완전히 다른 언어라는 사실때문에 멘붕에 빠지게된다. 하지만 오늘 포스팅할 내용은 그래도 비슷한 문법덕을 톡톡히 볼 수 있는 내용이니 그래도 좀 가볍게 볼 수 있을 것 같다. 1. Array in JavaScriptArray API에 들어가기전에 간략하게 JavaScript의 Array에 대해서 알아보고 가자. Java의 배열은 물리적인 메모리를 순차적으로 할당하게된다. 동적인 크기의 변경은 허용되지 않으며 물리적으로 순차적 할당을 하기때문에 인덱스로 값을 찾아가는 랜덤 액세스(Random Access) 방식에서 탁월한 성능을 보장한다. 다..
자바스크립트는 배열과 객체의 개념이 모호하다. 정확히 표현하자면 배열도 객체의 하나이긴하지만 배열이 아님에도 배열인척하는 객체들이 충분히 존재하기때문에 헷갈리는 경우가 존재한다. 대표적인게 arguments 객체이다. var test = function(){ for(var i = 0, size = arguments.length; i < size; i++){ console.log(arguments[i]); } }; test("hello", "world"); 배열이다. 그냥 배열이다. 반복문 자체도 전형적인 배열 루프다. console.log(arguments instanceof Array); 하지만 Array의 인스턴스는 아니라고한다. console.log(Array.isArray(arguments)); ..
- Total
- Today
- Yesterday
- Jackson
- java
- backend개발환경
- db
- frontend개발환경
- clean code
- EffectiveJava
- programming
- go-core
- Kotlin
- Spring
- 정규표현식
- mariadb
- javascript
- Design Pattern
- generics
- OOP
- frontcode
- servlet
- DesignPattern
- code
- spring cloud
- JavaScript Core
- http
- TEST
- JPA
- toby
- java8
- MySQL
- Git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |