String.charAt(i) VS String[i]

String 문자열에서 Character 문자에 접근하는 방법은 두 가지가 있다.
charAt() 함수를 쓰는 것과 문자열에 유사 배열로 접근하는 것이다.

1. String.charAt(i)

새로운 문자열을 반환한다.

2. String[i]

괄호 표기법(Bracket Notation).
문자를 삭제하거나 재할당할 수 없다.

var string = "Hello World!";
string[6] = '?';
console.log(string);
// > "Hello World!";

무엇을 써야하나?

두번째 방법은 IE7에서 undefined를 리턴한다.
그리고 코드상 배열과 문자열에 괄호 표기법을 사용한다면, 그 둘을 구분하기가 힘들다.
또한 괄호 표기법을 이용하여 문자를 할당할 수가 없다.

그렇기 때문에 문자는 charAt() 함수로 접근하는 것이 좋다.

참고

MDN String Description
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

charAt() 함수에 관한 설명
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt

https://stackoverflow.com/questions/5943726/string-charatx-or-stringx

Dangerous Bracket Notation for Strings
http://blog.vjeux.com/2009/javascript/dangerous-bracket-notation-for-strings.html

좋은 웹페이지 즐겨찾기