요즘 You don't know JS 라는 책을 보고있는데 배열 생성 방식에 대한 부분에 지면을 꽤나 할애하고있어 해당 부분에 대한 정리와 내 생각을 포스팅하고자한다. 1. 배열생성자바스크립트에서 배열을 생성하는 방식은 2가지가 있다. 여타 객체를 생성하듯 생성자를 사용할 수도 있고 언어차원에서 제공하는 리터럴 방식을 사용할 수도 있다. 보통은 타이핑 양도 적고, 가독성에서도 우월하고 성능에서까지 좋은 리터럴 방식을 권장하고, 사용한다. 개인적으로 리터럴 표현이 아닌 생성자를 사용해야할 경우는 아무리 생각해도 떠오르지않는다. var arr1 = []; var arr2 = new Array(); IDE 마저도 리터럴로 바꾸라고 한다. 2. 배열 생성자이미 리터럴의 우수함때문에 생성자를 사용할 이유가 없지만..
정규표현식은 자바스크립트 외에도 수많은 언어에서 유용하게 활용할 수 있는 기술이다. 문자를 파싱할 일이 생겨서 각종 반복문, 분기문을 사용해서 힘들게 짜놓은걸 정규식 고수가 와서 한줄로 끝내버리면 그렇게 허탈할 수가 없다. 이번 포스팅에서는 자바스크립트에서 좀 더 다양한 정규표현식 활용법을 알아보자. 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..
자바와 자바스크립트의 관계는 햄과 햄버거, 인도와 인도네시아, 사자와 바다사자 같은 존재라 처음 접하는 사람들은 두 언어가 비슷할거란 기대를 하게되지만, 일부 문법외엔 완전히 다른 언어라는 사실때문에 멘붕에 빠지게된다. 하지만 오늘 포스팅할 내용은 그래도 비슷한 문법덕을 톡톡히 볼 수 있는 내용이니 그래도 좀 가볍게 볼 수 있을 것 같다. 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)); ..
1. arguments 객체 자바스크립트는 매우 유연한 언어이다. 얼마나 유연하냐면 언어차원에서 제공하는 객체들의 속성까지 변경할 수 있다. 이 코드를 보자. var test = function(arg){ arguments = []; }; test("hello"); 결과는 직접 확인해보자. 브라우저 개발자도구 열고 복붙하면 확인할 수 있다. arguments는 함수의 인자들을 관리하는 자바스크립트 엔진이 제공하는 기본적인 객체다. 일반적으로 개발할때 저걸 수정할일은 없지만(그럴일이 있다하더라도 arguments객체를 수정하는건 권장하지않는다.) 수정이 된다. 2. 생성자와 함수 또한 자바스크립트는 생성자와 함수의 역할도 함수가 혼자 다한다.var Cons = function(name, age){ this..
자바스크립트는 데이터타입(자료형)에 대해 상당히 관대한 언어이다. 다른 언어가 변수를 선언 할 때 자료형까지 결정 하는 반면, 자바스크립트는 선언시 변수의 스코프(범위)와 존재만 설정하고, 할당 할 때 비로소 자료형이 결정된다.(다른 언어를 했었는지 어떤 개발자가 변수를 선언하고 초기화를 하지 않으면쓰레기 값이 된다고 하는 것을 보았는데, 자바스크립트에 대해 잘 모르고서 하는 소리인것 같다.) 그래서인지, 자바스크립트를 배우는 대부분의 사람들은, 그리고 가르치는 사람들은자료형에 대한 고민을 거의 하지 않는 편이다. 고려하지 않아도프로그래밍을 하는데 큰 문제가 없다(?)고 생각하는 것이다. 하지만 조금만 깊이있게 들어가면 자바스크립트도, 자료형에 대한 고민을 하지 않고서는문제가 발생하는 경우가 많다. 그 ..
- Total
- Today
- Yesterday
- Jackson
- frontcode
- generics
- DesignPattern
- Spring
- JavaScript Core
- OOP
- javascript
- EffectiveJava
- go-core
- http
- clean code
- Kotlin
- mariadb
- Git
- code
- db
- frontend개발환경
- java8
- spring cloud
- MySQL
- programming
- 정규표현식
- toby
- TEST
- servlet
- backend개발환경
- Design Pattern
- java
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |