Pront/Javascript
[Javascript] 문자열과 String()
soyeonisgood
2022. 9. 24. 16:05
String
- 문자열 처리를 위한 프로퍼티 및 메소드 제공
- 일반적인 문자열과 String Object는 다르게 취급된다
String 생성자 및 정적 메소드
생성자 | 설명 |
String(thing) | 주어진 문자열로 String 객체 생성 |
주요 정적 속성 | 설명 |
String.prototype | String 객체의 프로토타입 |
주요 정적 메소드 | 설명 |
String.fromCharCode(num1[, ...[, numN]]) | 주어진 UTF-16 코드 유닛 N개로 이루어진 문자열 |
String() 주요 메소드
String() 주요 메소드 활용 예제
일반적인 문자열 리터널 !== String Object
var s1 = "java"; // 문자 리터널
var s2 = new String("java"); // 객체
console.log(typeof(s1)); // "string"
console.log(typeof(s2)); // "object"
console.log(s1==="java"); // true
console.log(s2==="java"); // false
console.log(s2=="java"); // true
console.log(s1 == s2); // true
console.log(s1 === s2); // false
console.log(s2.valueOf()); // java
console.log(s2.valueOf() === "java"); // true
s1 = "2+2";
s2 = new String("2+2");
console.log(eval(s1)); // 4
console.log(eval(s2)); // String {}
console.log(eval(s2.valueOf()) ); // 4
주요 메소드 예제
- 속성명이 잘못되면(오타) 에러가 아님. 그 속성을 새로 추가하므로 주의해야한다.
var s1, s2;
s1 = "seoul korea";
s2 = s1.length; // 문자열 길이
// length 같은 속성명이 잘못되면 에러로 표시하지 않고 속성을 추가하므로 주의해야함
console.log(s2); // 11
s2 = s1.charAt(6); // 문자열에서 index 위치의 문자 반환
console.log(s2); // 'k'
s2 = s1.substring(6,9); // s 인덱스에서 e-1 인덱스까지의 문자열
console.log(s2); // 'kor'
s2 = s1.substring(6); // s 인데스에서 마지막 문자열가지
console.log(s2); // 'korea'
s2 = s1.substr(6,3); // s 인덱스에서 len 개수만큼의 문자열
console.log(s2); // 'kor'
s2 = s1.substr(6); // s 인덱스에서 마지막 문자열까지
console.log(s2); // 'korea'
s2 = s1.indexOf('o'); // 처음부터 비교해서 해당 문자열의 인덱스 반환. 없으면 -1
console.log(s2); // 2
s2 = s1.lastIndexOf('o'); // 마지막 문자열부터 비교해서 해당 문자열의 인덱스 반환. 없으면 -1
console.log(s2); // 7
s2 = s1.indexOf('java');
console.log(s2); // -1
s2 = s1.toUpperCase(); // 모든 영문자를 대문자로
console.log(s2);
s2 = s2.toLowerCase(); // 모든 영문자를 소문자로
console.log(s2);
console.log(s1 === "seoul"); // false
console.log(s1.startsWith("seoul")); // true
console.log(s1.startsWith("korea")); // false
console.log(s1.startsWith("korea", 6)); // true
console.log(s1.endsWith("korea")); // true
s1 = ' 자 바 ';
s2 = ':' + s1 + ':';
console.log(s2);
s2 = ':' + s1.trim() + ':'; // 왼쪽, 오른쪽 공백 제거
console.log(s2);
s1 = 'javascript,html,css';
s2 = s1.split(','); // 문자열을 구분자로 분류한 부분 문자열을 담은 배열을 반환
for(let n=0; n<s2.length; n++) {
console.log(s2[n]);
}
s1 = '대한 우리대한 한국 대한';
s2 = s1.replace(/대한/, '大韓'); // /.../: 정규식
console.log(s2); // 大韓 우리대한 한국 대한
s2 = s1.replace(/대한/g, '大韓'); // g(global): 모두
console.log(s2); // 大韓 우리大韓 한국 大韓
s2 = s1.replaceAll('대한', '大韓');
console.log(s2); // 大韓 우리大韓 한국 大韓