문자 처리를 위한 object
var book = "12" + "AB" + "가나";
var concat = 123 + "abc" +
"가나다라";
var concat = "abc \
가나다라";
console.log(concat);
파라미터 값을 string type으로 변환하여 반환.
값을 미리 작성하지 않으면 빈 문자열 반환.
var value = String(123);
console.log(typeof value);
값 : string
String Instance를 생성하여 반환.
var obj = newString(123);
console.log (typeof obj);
값 : object (instance의 type은 object
String instnace의 primitive value를 변환한다
var obj = new String(123);
console.log(obj.valueOf());
문자 수를 반환한다.
var value = "ABC";
for (var k=0; k<value.length; k++){
console.log(value[k]);
}
이 경우 index 값에 대응하여 문자 수를 반환
문자열 앞, 뒤의 white space를 삭제한다.
var value = " abcd ";
console.log(value.length);
-> 공백 포함하여 8로 산출
console.log(value.trim().length);
->공백 제외하여 4로 산출
data위치의 값을 string type으로 변환
형태)
data.toString()
예)
var value = 123;
var result = value.toString();
console.log (typeof result);
값 : string
파라미터 값을 채워넣으면 에러 난다
파라미터 내 값을 object로 간주
built-in object의 형태는 key:value인데 파라미터 내에는 key:value형태로 정의되어 있지 않아서 object undefined
이런 식으로 엉뚱한 값이 나옴
JS는 data type으로 object를 결정하고, object의 함수를 호출한다.
var value = 123;
value.toString();
-> Number object의 toString()을 호출
"123"toString();
-> String object의 toString()을 호출
파라미터 내에 작성한 인덱스의 문자를 반환한다.
index는 0부터 시작한다
var value = "sports";
console.log (value.charAt(1));
->결과 : p
console.log (value[1]);
->결과 : p
문자열의 길이보다 index가 크면 빈 문자열 ("")을 반환한다.
또한, 일반적으로 존재하지 않으면 undefined를 반환한다.
var value = "sports";
console.log (value.charAt(12));
-> ""
index# 12에 대응하는 값이 없기에 공란으로 반환
console.log (value[12]);
->undefined
property 이름 중 해당 이름이 없기 때문에 작성하지 않았다는 시맨틱으로 undefined 반환
검색 대상(data)의 문자열에서 파라미터 문자와 같은 첫번째 index 반환
형태)
indexOf(검색할 문자열, 검색 시작 위치( default : 0)
검색 기준
var value = "123123";
console.log (value.indexOf(2));
-> 1
console.log (value.indexOf(23));
->1
23이 첫번째로 나오는 곳에서 index 반환
var value = "123123";
console.log (value.indexOf(2,3));
->4
var value = "123123";
console.log (value.indexOf(2,-1));
-> 1
console.log (value.indexOf(2,9));
-> -1
console.log (value.indexOf(2,"a"));
-> 1
위와 역으로 오른쪽 -> 왼쪽으로 검색.
하지만 도출되는 index 및 파라미터 두번째 값으로 사용하는 index는 모두 왼쪽 방향부터 count됨..
규칙은 위와 같음
var value = "123123";
console.log (value.lastIndexOf(1,4));
->3
parameter값을 작성 순서대로 연결하여 문자열로 반환
var obj = new String (123);
console.log (obj.concat("ABC"));
->123ABC
var result = "배구".concat ("김연경", 10);
console.log(result);
->배구김연경10
영문 대문자(소문자)를 소문자(대문자)로 변환
console.log ("ABCDE".toLowerCase());
->abcde
console.log ("abcde".toUpperCase());
->ABCDE
형태)
substring(시작, 끝)
기능) parameter의 시작 index부터 끝 index 직전까지 반환
var value = "01234567";
console.log (value.substring(2,5));
->234
두번째 parameter 미기재 시 반환대상의 끝까지 반환
var value = "01234567";
console.log (value.substring(2));
->234567
추가 참고)
첫번째 parameter 값>두번째 parameter 값
인 경우 형태를 뒤집어서 처리한다var value = "01234567";
console.log (value.substring(5,20));
-> 567
console.log (value.substring(-7,2));
-> 01
console.log (value.substring(5,1));
-> 1234
console.log (value.substring(5,"a"));
-> 01234
형태)
substr(시작index, 반환할 문자 수)
기능)
파라미터의 시작 인덱스부터 지정한 문자 수를 반환
var value = "01234567";
console.log (value.substr(0,3));
-> 012
추가 참고)
var value = "01234567";
console.log (value.substr(-3,3));
-> 567
console.log (value.substr(3));
-> 34567
형태)
slice(시작, 끝)
기능)
parameter의 시작 index부터 끝 index 직전까지 반환
(substring이랑 되게 비슷하니 주의)
var value = "01234567";
console.log (value.slice(1,4));
->123
console.log (value.slice(false,4));
->0123
*false, null, undefined, NaN, 시작 값 미작성 시 = 0으로 간주
추가 참고)
var value = "01234567";
console.log (value.slice(3));
->34567
console.log (value.slice(5,3));
->""
문자열을 pattern으로 매치하는 형태
pattern : ^, &, *, +
형태)
match(정규표현식 or 문자열)
기능)
매치 결과를 배열로 반환
매치 대상에 정규 표현식의 패턴을 적용하여 매치하고 그 결과를 반환
var value = "Sports";
console.log (value.match(/s/));
-> [s]
정규 표현식은 슬래시 사이에 작성.
반환 형태는 "배열"이다
console.log (value.match("spo"));
-> null
소문자 spo는 값에 없기에 매치되지 않는다
처리했는데 없다는 뜻으로 null반환
형태)
replace(정규표현식 또는 문자열, 대체할 값 또는 함수)
기능)
매치 결과를 파라미터에 작성한 값으로 대체하여 반환
두번째 파라미터에 함수를 작성하려면 먼저 함수를 실행하고, 함수에서 반환한 값으로 대체
var value = "abcabc";
console.log (value.replace ("a", "바꿈"));
-> 바꿈bcabc
console.log (value.replace (/a/, "바꿈"));
-> 바꿈bcabc
function change () {
return "함수";
}
console.log (value.replace (/a/, change()));
-> 함수bcabc
형태)
search(정규표현식 또는 문자열)
기능)
검색된 첫번째 index 반환
매치되지 않으면 -1 반환
indexOf와 달리 다양한 정규표현식 사용하여 검색 가능하다
var value = "cbacba";
console.log (value.search(/a/));
-> 2
console.log (value.search("k"));
-> -1
split ( 분리자(정규표현식 또는 문자열), 반환 수)
기능)
분리대상을 분리자로 분리하여 배열로 반환
console.log ("12_34_56".split("_"));
->["12", "34", "56"]
var value = "123"
console.log (value.split(""));
-> ["1", "2", "3"]
console.log (value.split());
-> ["123"]
두번 째 parameter에 반환할 갯수를 작성한다
분리자가 없으면 대상 전체를 반환한다
var value = "12_34_56_78";
console.log (value.split("_",3));
-> ["12", "34", "56"] (작성한 수 만큼 반환)
console.log (value.split("A"));
-> ["12_34_56_78"]
charCodeAt(반환 기준 index)
기능)
인덱스 n번째의 문자의 유니코드 코드포인트를 반환
인덱스가 문자열 길이보다 크면 NaN 반환
var value = "1Aa가";
for (var k = 0; k < value.length; k++){
console.log (value.charCodeAt(k));
}
-> 49, 65, 97, 44032
console.log (value.charCodeAt(12));
-> NaN
data(String object).fromCharCode(유니코드, 다수 작성 가능)
기능)
파라미터의 유니코드를 문자열로 변환하고 연결하여 반환
작성하지 않으면 빈 문자열 반환
작성방법)
1. data위치에 string object작성
2. 변환 대상 값은 작성하지 않는다
= String.fromCharCode()
형태다..
console.log(String.fromCharCode(49, 65, 97,44032));
->1Aa가
비교대상.localeCompare(비교할 값)
기능)
값을 비교하여 위치를 나타내는 값으로 반환
유니코드 코드포인트 값으로 비교
위치 값)
1 : 앞 (빠른 숫자)
0 : 같음
-1 : 뒤 (느린 숫자)
var value = "나";
console.log (value.localeCompare("가"));
-> 1
console.log (value.localeCompare("나"));
->0
console.log (value.localeCompare("다"));
-> -1
구분)
instance를 만들 수 있는 모든 built-in object에 함수형 property가 모두 포함되어있다 (__proto__
에..)
new Object(값 optional)
인스턴스를 생성하여 반환한다.
파라미터의 데이터 타입에 따라 생성할 instance 결정
var newNum = new Number (123);
console.log (typeof newNum);
-> object (instance의 type은 항상 object - primitive 값이 123)
console.log (newNum + 100);
-> 223
var newObj = new Object (123);
console.log (typeof newObj);
-> object (또 인스턴스니까)
console.log (newObj + 100);
-> 값이 더해진다는 것은 파라미터 값의 type이 number라는 것.
즉 newObj는 number type instance
파라미터 값이 undefined, null이면 빈 object instance를 반환한다.
var newObj = new Object ();
console.log (newObj);
->{} (빈 object instance = no primitive value)
Object 인스턴스 생성
파라미터는 {name : value} 형태
var obj = Object ({name : "책"});
console.log (obj);
-> {name : "책"}
위에 작성한 파라미터 값이 instance의 primitive 값이 된다
var emptyobj = Object ();
console.log (emptyobj);
-> {}
파라미터 내에 작성하지 않으면 undefined로 처리되며 공란의 primitive값이 나온다
var abc = {}; 또는
var abc = Object();
data 위치에 작성한 instance의 primitive값 변환
var obj = {key : "value"};
console.log (obj.valueOf());
-> {key : "value"}
이후 내용은 좀 천천히 포스트 해야겠다...손가락 쑤신다..