살구잼의 여정
article thumbnail

2023.04.24

 

10. 효율적으로 문자열과 배열 활용하기

 

래퍼 객체(wrapper object)

: 숫자, 문자열, 불리언 등 원시 타입의 프로퍼티에 접근하려고 할 때 생성되는 임시 객체

 

오토박싱(autoboxing)

: 필요할 때만 임시로 객체로 바꿔 사용하고 사용이 끝나면 다시 원시 유형으로 되돌아 오는 것

 

정규 표현식(regular expression)

: 특정 패턴(규칙)을 사용해 문자열을 표현하는 언어.

예) 전화번호가 숫자로만 이루어졌는지, xxx-xxxx-xxxx 형태로 이루어져있는지 체크 가능

JS뿐만 아니라 자바, 파이썬 등의 언어에서도 사용이 가능한 규칙임

RegExp 객체 사용 또는 ‘ / ’ 슬래시 사용

<기본형>
패턴[플래그]
//플래그는 옵션임

let regexp = /\\d{3}/  //숫자 세자리라는 패턴을 regexp에 할당하고 표현식을 사용
regexp.test("hello") //false
regexp.test("123") //true

정규식.test(문자열) : 정규표현식에 일치하는 부분 문자열이 있으면 true, 없으면 false 를 반환
정규식.exec(문자열) : 정규표현식에 일치하는 부분 문자열이 있으면 결과값을 배열형태로, 
									없으면 null 을 반환

정규식의 플래그

i 영문자의 대소문자를 구분하지 않고 검색함
g 패턴과 일치하는것을 모두 찾음. g패턴이 없으면 패턴 중 첫 번째 패턴만 반환함
m 문자열의 행이 바뀌어도 검색함

문자 클래스 : 문자열의 특정 부분이 숫자인지 문자인지 확인 가능

앵커 기호 (anchor sign)

^ (캐럿 carrot)기호 : 문자열의 시작을 나타냄.

$ 기호 : 문자열의 끝을 나타냄.

let hello = "hello, everyone"
/^h/.test(hello) //false   문자열이 h로 시작하는지 체크

[^0-9] : 숫자가 아닌것을 의미함
// ^가 []안에 있는 경우, not의 의미가 됨.

반복 검색하기

{} 중괄호는 반복해서 체크하라는 의미.

 

메타meta 문자

특정의미를 가지는 메타문자를 이용해 필요조건을 표시함

메타가 아닌 원래 문자로 사용할 경우, 백슬래시( \ ) 다음에 문자를 표시함

 

 

 


11. 배열과 객체, 좀 더 깊게 살펴보기

 

구조 분해 할당

주어진 자료의 구조를 분해하여 변수에 할당하는 기능

//값이 4개 있는 배열을 구조분해하여 첫번째는 spring에, 
//세번째는 fall에 할당할 경우

let [spring, ,fall, ] = ["봄", "여름", "가을", "겨울"]
spring  //봄

//변수에 할당하지 않는 값은 변수 영역을 빈 공간으로 남겨둔다.

맵과 셋

: 맵과 셋에는 객체와 배열과는 다르게, 순서가 있으며 , 별도의 프로퍼티가 있고, 많은 메서드를 가지고있다.

 

맵 Map (객체와 비슷함)

키와 값으로 이루어진 데이터를 저장하는데 사용됨.

각 키와 값은 모두 다른 타입의 데이터가 될 수 있으며, 객체나 배열 등의 복잡한 데이터 타입도 저장할 수 있음.

객체의 프로퍼티키는 문자열과 심벌만 사용가능하나, 맵은 모든 자료형을 사용 가능함.

 

셋 Set (배열과 비슷함)

값의 중복을 허용하지 않는 데이터를 저장하는데 사용됨.

유일한 값만 저장할 수 있으며, 저장된 값은 자동으로 정렬됨.

 

이터러블 객체 (iterable object)

순서대로, 차례대로 값을 가져와서 처리할 수 있는 객체. 문자열, 배열, 맵, 셋이 포함됨.

Symbol.iterator메서드를 가지고 있는 객체로, for...of 반복문이나 Spread 연산자 등과 함께 사용될 수 있는 객체.

Symbol.iterator메서드는 이터레이터(Iterator)를 반환하는데, 이터레이터는 next()메서드를 가지고 있으며, 이터러블 객체 내의 다음 값을 반환(순서대로 동작할 수 있는 이유)

 

Symbol.iterator메서드는 function*문법을 사용하여 Generator 함수로 구현될 수 있음.

Generator함수는 yield 키워드를 사용하여 값을 반환하며, 함수 안의 실행문을 한꺼번에 실행하지 않고, 하나씩 실행하며, 실행 중에 중간에 일시 중지하고 다시 재개할 수 있음.

 

 

'🖤 Book Study > Do it! 모던 자바스크립트 프로그래밍의 정석' 카테고리의 다른 글

6주차 (12,13,17,18장)  (0) 2023.05.09
3주차 (8~9장)  (1) 2023.04.19
2주차 (5~7장)  (2) 2023.04.11
1주차 (1~4장)  (2) 2023.04.05
profile

살구잼의 여정

@드림살구잼

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!