반응형

# 자바스크립트 학습

# String 오브젝트

  • "ABC" 처럼 문자 처리를 위한 빌트인 오브젝트이다.
  • String 오브젝트에는 문자 처리를 위한 함수와 프로퍼티가 포함되어 있다.
  • 함수를 호출하여 문자 처리를 하게 된다.

## 문자열 연결 방법

  • 한 줄에 작성하여 연결한다. (기준은 세미콜론, 세미콜론이 나올떄까지 모든 문자열을 연결)
var book = "12" + "AB" + "가나";
  • 줄을 분리하여 연결한다. (+로 문자열을 연결한다.)
var concat = 123 + "abc" +
				"가나다";
                
log(concat);

=>
123abc가나다
  • 역슬래시(\)로 문자열 연결
var concat = abc" \ 가나다라";

log(concat)

=>
abc가나다라

## 프로퍼티 리스트

이름 개요
new String() 인스턴스 생성
String 함수
String() 문자열로 변환하여 반환
fromCharCode() 유니코드를 문자열로 변환하여 반환
String 프로퍼티
length 문자열의 문자 수 반환
String.prototype
constructor 생성자
valueOf() 프리미티브 값 반환
toString() 문자열로 반환
charAt() 인덱스 번째 문자 반환
indexOf() 일치하는 문자열 중 가장 작은 인덱스 반환
lastindexOf() 일치하는 문자열 중 가장 큰 인덱스 반환
concat() 문자열 연결
toLowerCase() 영문 소문자로 변환
toUpperCase() 영문 대문자로 변환
trim() 문자열 앞뒤의 화이트 스페이스 삭제
substring() 시작에서 끝 직전까지 값 반환
substr() 시작 위치부터 지정한 문자 수 반환
slice() 시작에서 끝 직전까지 값 반환
match() 매치 결과 반환
replace() 매치 결과를 지정한 값으로 대체
search() 검색된 첫 번째 인덱스 반환
split() 구분자로 분리하여 반환
charCodeAt() 인덱스 번째 문자를 유니코드로 반환
localeCompare() 값의 위치를 1, 0, -1로 반환

## 문자열로 변환

구분 데이터(값)
파라미터 변환 대상
반환 변환한 값
  • 파라미터 값을 String 타입으로 변환하여 반환한다.
  • 값을 작성하지 않으면 빈 문자열을 반환한다.
var value = String(123);

log(value);
log(typeof value);

log(typeof ("" + 123));

=>
123
string
string
  • 가독성을 위해 ("" + 123) 보다는 String(123) 형태로 작성한다.

## new String()

구분 데이터(값)
파라미터 값opt
반환 생성한 String 인스턴스
  • new 연산자로 String 생성자 함수를 호출하면 String 인스턴스를 생성하여 반환한다.
  • 아래와 같이 new 연산자로 String 생성자 함수를 호출하면서 파라미터 값으로 Number 타입으로 123 작성, 그러면 인스턴스를 생성하여 obj에 할당하게 되고, 123을 인스턴스의 프리미티브 값으로 설정하게 된다.
var obj = new String(123);
log(typeof obj);

=>
object

## valueOf()

구분 데이터(값)
data String 인스턴스, 문자
파라미터 사용하지 않음
반환 프리미티브 값
  • valueOf 함수는 String 인스턴스의 프리미티브 값을 반환한다.
var obj = new String(123);
log(obj.valueOf());

=>
123

# length 프로퍼티

문자 수를 반환한다.

var value = "ABC";

log(value.length);

=>
3
  • length 프로퍼티 활용한 형태
var value = "ABC";

for (var l = 0; k < value.length; k++ ) {
	log(value[k]);
};

=>
A
B
C
  • length 값이 반환되는 논리
1. length가 출력되는 원리
var obj = new String("ABC");

new 연산자로 String 생성자 함수를 호출하면서 파라미터에 "ABC"를 작성해서 인스턴스 생성

obj에 length가 존재.

value가 obj가 된 것.(즉, value가 인스턴스가 된 것)


2. 출력원리
var value = "ABC";
console.log(value.length);		// 3출력

value.length 진행 시, value에 대한 타입을 구한 후
내부적으로 해당 타입에 맞는 new String("ABC"); 가 진행된다. 
이로인해 자바스크립트 내부에서 인스턴스를 생성.(temp라고 하면)
생성된 인스턴스를 갖고 temp.length 진행하여 3출력.

정리)
1. value.length 진행 시 value에 맞는 타입 확인
2. 타입에 맞는 생성자 함수 호출하여 인스턴스 생성
3. 이로인해 value.length 사용 가능

# 화이트 스페이스 삭제

## trim() 

구분 데이터(값)
data 삭제 대상
파라미터 사용하지 않음
반환 삭제한 결과
  • 문자열 앞뒤의 화이트 스페이스를 삭제한다.
var value = "  abcd  ";
log(value.length);

log(value.trim().length);

=>
8	//	abcd 앞뒤로 공백이 2개씩 존재.
4	// trim() 함수로 공백 제거
  • 메소드 체인(Method chain) : value.trim().length 처럼 점과 점으로 연결된 형태를 의미
반응형

+ Recent posts