상세 컨텐츠

본문 제목

2장) 자바스크립트 기본 학습 (2)

본문

문자열 조작 -> JS는 문자열 데이터 형식의 변수를 정의할 때 자동적으로 String 객체를 생성한다.

var myStr = "Teacher Yourself jQuery";

문자열 생성 시 바로 추가할 수 없는 특별한 문자들 존재

더보기

더보기

\' - 작은 따옴표

\" - 큰 따옴표

\\ - 역 슬래쉬

\n - 개행

\r - 캐리지 반환

\t - 탭

\b - 백스페이스

\f - 폼 피드

var numOfChars = myStr.length;
문자열의 길이를 알 수 있다.


String 객체 조작 메소드

더보기
메소드 설명
charAt(인덱스) 인덱스 위치 문자 반환
charCode(인덱스) 인덱스 위치 문자의 유니코드 값 반환
concat(str1, str2, ... ) 두 개 이상의 문자열을 합치고 반환
fromCharCode() 유니코드 값을 실제 문자로 변환
indexOf(subString) subString 값이 처음으로 나타난 위치 반환, 없을 경우 -1 반환
lastIndexOf(subString) subString 값이 마지막으로 나타난 위치 반환, 없을 경우 -1 반환
match(regex) 문자열을 탐색하여 정규 표현식과 일치하는 것 반환
replace(subString / regex /
replacementString)

subString, regex과 일치하는 문자열 탐색, 일치한  subString을 새로운 subString으로 변경

search(regex) 정규 표현식에 맞는 문자열 탐색 -> 처음 일치한 위치 반환
slice(start, end) start위치와 end 위치 사이 문자열 부분이 제거된 새로운 문자열 반환
split(sep, limit) 구분자 or 표현 정규식에 맞는 문자열을 부분문자열의 배열로 분할
인수 옵션 limit - 부분문자열의 최대 수 정의
substr(start, length) 문자열 중 시작된 시작 위치부터, length만큼 문자열 추출
substring(from, to) from 인덱스부터 to 인덱스 사이 문자들의 부분문자열 반환
toLowerCase() 소문자로 변환
toUpperCase() 대문자로 변환
valueOf() 문자열의 기본값을 반환

 

- 단어 치환
var username = "Brad";
var output = "<username> please enter your password: ";
output.replace("<username>", username);

- 문자열 배열로 쪼개기
var t = "12:10:36"
var tArr = t.split(":");
var hour = tArr[0];
var minute = tArr[1];
var second = tArr[2];

 

배열

더보기

Array 객체를 조작하는 메소드

메소드 설명
concat(arr1, arr2) 인수로 전달된 배열 결합한 배열 반환
indexOf(value) value 값을 찾아 첫 번째 인덱스 반환 (항목이 없으면 -1 반환)
join(구분자) 모든 요소들을 명시된 구분자로 분리된 하나의 문자열로 결합 (기본 콤마)
lastIndexOf(value) value 값을 찾아 마지막 인덱스 반환 (없으면 -1 반환)
pop() 마지막 요소 제거하고 해당 요소 반환
push(item1, item2, ...) 배열 끝에 하나 이상의 새로운 요소 추가하고, 새로운 길이 반환
reverse() 배열 순서 반전
shift() 배열 첫번째 요소를 제거하고 해당 요소 반환
slice(start, end) start와 end 인덱스 사이의 요소들을 반환
sort(sortFunction) 배열의 요소들을 정리 (sortFunction은 선택적으로 사용)
splice(인덱스, count, item1, item2, ...) 인덱스에서 count 수만큼 요소들을 삭제한 다음, item이 인수로 전달 된 경우 해당 인덱스 위치에 삽입
toString() 배열을 문자열 형태로 반환
unshift() 시작 부분에 새로운 요소 추가 후 새로운 길이 반환

 

 

배열을 이용한 반복문 (for/in 루프)

var week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'];
for (dayIndex in week) {
	console.log("<li>" + week[dayIndex] + "</li>");
}

 

에러 처리 부분

 

코드 예외 사항이 JS내의 문제 때문에 발생한다면 스크립트는 실행되지 않을 것이고 로딩은 끝나지 않는다.

이런 문제를 막기 위해 try/catch 작성.

 

try/catch 블록

try블록 안의 코드 실행 도중 에러 발생 시 전체 스크립트 중단하는 대신 catch 부분 실행

에러 발생하지 않는다면, try 블록 전체 실행되고 catch 블록은 실행되지 않는다.

 

ex)
try {
	var x = badVarName;
} catch (err) {
	console.log(err.name + ': "' + err.message + '"');
}

catch문이 에러 객체인 err 인자를 전달 받고 있다.

에러 객체는 발생한 에러 형식의 이름인 name 속성과 message 속성을 제공한다

ReferenceError: "badVarName is not defined"

 

+ 사용자 정의 예외 처리

function sqrRoot (x) {
	try {
    if (x=="")		throw {message: "Can't Square Root Nothing."};
    if (xisNaN(x))	throw {message: "Can't Square Root Strings."};
    if (x<0) 		throw {message: "Sorry No Imagination"};
    return "sqrt("+ x +") = " + Math.sqrt(x);
	} catch (err) {
    return err.message;
	}
}

function writeIt() {
	console.log(sqrRoot("four"));
  console.log(sqrRoot(""));
  console.log(sqrRoot("4"));
  console.log(sqrRoot("-4"));
}
writeIt();

 

 

finally => try, catch 뒤에 오고, 어떤게 실행되든 항상 finally 블록은 실행된다.

관련글 더보기