Notice
		                                        
										
                                    
                                        
                                    
                                        Recent Posts
                                        
                                    
                                        
                                    
                                        Recent Comments
                                        
                                    
                                        
                                    
                                        Link
                                        
                                    
                                | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 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 | 
                                        Tags
                                        
                                    
                                        
                                    - 변수명
- 자바스크립트 모듈
- 클린코드
- 자바스크립트 유효범위
- 자바스크립트
- 정규표현식
- 의미있는 이름
- Safari
- 네이밍
- 자바스크립트 객체
- 리팩토링이란
- 콜백
- 자바스크립트 상속
- 리팩토링 기법
- mysql #mysql최적화 #최적화
- 프로토타입
- 정규식
- 리팩토링
- 자바스크립트 문법
- 자바스크립트 클로저
- 클로저
- 리팩토링기법
- 자바스크립트 배열
- 자바스크립트 함수
- 자바스크립트 정규표현식
- 모듈
- 프로토타입 상속
- 자바스크립트 콜백
- 자바스크립트 메소드
- 자바스크립트 정규식
                                        Archives
                                        
                                    
                                        
                                    - Today
- Total
개발정리
javascript / Chapter6. 배열 본문
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
        
                                
            00 들어가며
01 배열리터럴
02 length속성
03 삭제
04 열거
05 객체와 배열의 혼동
06 배열의 메소드
07 배열의 크기와 차원
00 들어가며
- 배열이란- 항목의 오프셋을 계산 할 수 있는 정수를 통해 각 항목들을 접근 할 수 있는 연속적인 메모리 할당
- 매우 빠른 데이터 구조
 
- 하지만 자바스크립트에는 이런 배열은 없다.
- 자바스크립트의 배열은 배열같은 객체
- 느리지만 사용은 편리하다.
01 배열 리터럴
- 두 객체의 차이점- obj는 Object.prototype을 상속받는다.
- arr은 Array.prototype을 상속받는다.- 따라서 추가적인 기능을 제공한다.
 
 
02 length 속성
- 자바스크립트 배열 length의 특징- 다른 언어와 다르게 상계 기반이 아니다.
- 최대 속성 크기보다 하나 더 큰 값. 
- 따라서 속성의 갯수 != length
- length는 명시적으로 변환 가능하다.- length값을 증가시켜도 메모리 할당은 일어나지 않는다.
- length값을 감소시키면 해당 length 이후의 속성은 삭제된다.
 
 
- 새로운 항목 추가시- length값을 활용해 추가가능
- push사용
 
03 삭제
- delete 연산자를 사용한 삭제- 배열에 구멍이 생긴다.
 
- splice 메소드 사용- 삭제된 배열 속성의 오른쪽 속성을 재 삽입.
- 배열이 큰 경우 빠르지 않다.
 
04 열거
- for in문으로 열거 가능- 적합하지 않다.
- 배열의 순서가 보장되지 않음.
- prototype chain에 있는 예상치 못한 값이 열거될 수 있다.
 
- for문을 사용해 열거하는 것이 좋다.
05 객체와 배열의 혼동
- 배열이 필요할 때와 객체가 필요할 때 구분- 속성이름이 작은 크기의 연속된 정수일 때 배열을 사용한다.
- 아니라면 객체를 사용한다.
 
- 배열의 type of는 object이다.- 자바스크립트 또한 배열과 객체를 혼동한다.
- 두 객체를 구분하기 위해 다음과 같은 함수 제작이 가능하다. 
 
06 배열의 메소드
- Array.prototype을 통해 메소드 추가 가능 
07 배열의 크기와 차원
- 자바스크립트 배열은 보통 초기화 되지 않는다.
- [ ] 은 빈 배열
- 존재하지 않는 값 접근 시 undefined
- 배열에 문자가 없도록 Array.dim같은 메소드가 있어야 했다. 
- 다차원 배열은 없지만 다음과 같이 사용 가능하다 
- 다차원 배열의 초기화용 dim인 matrix 
참고문헌
1. 더글라스 크락포드, 김명신 『자바스크립트 핵심가이드 javascript The good parts』, 한빛미디어
'JS > javascript' 카테고리의 다른 글
| Chapter8 메소드 (0) | 2017.04.09 | 
|---|---|
| javascript / Chapter7. 정규 표현식 (0) | 2017.02.26 | 
| javascript / Chapter5. 상속 (0) | 2017.02.26 | 
| javascript / Chapter4. 함수 2 (0) | 2017.02.08 | 
| javascript / Chapter4. 함수 1 (0) | 2017.01.31 | 
                          Comments
                        
                    
                
            
                
            
				
				
				
				
                
            