javascript 사전

charAt

요약

문자열에서 인자로 주어진 값에 해당하는 문자를 리턴한다.

문법

charAt(index)

인자

index - 필수, 0보다 큰 정수

설명

문자열에 속하는 문자는 왼쪽부터 오른쪽까지 0부터 인덱싱되어 있다.
charAt은 index로 주어진 값에 해당하는 문자를 리턴한다.
인덱스는 0부터 시작하기 때문에 index로 들어갈 수 있는 가장 큰 수는 (문자열.legnth-1)이다.
존재하지 않는 index를 인자로 전달하면 공백이 출력된다.
charAt 는 index에 해당하는 문자를 리턴하고, chartCodeAt은 유니코드 값을 리턴하는 차이가 있다.

예제

var stringName = 'coding everybody';
alert(stringName.charAt(0)); // c
alert(stringName.charAt(stringName.length-1)); // y
alert(stringName.charAt(1000) == ''); // true

 

댓글

댓글 본문
  1. 푸른하늘
    13일차 공부 감사합니다
  2. 'abcd' .charAt(10) === ''
    'abcd' [10] === undefined
  3. stringName.charAt(1000) 가 '' 이므로
    '' == '' 가 true 이지요.
    대화보기
    • musician
      -sjh1105 님 -

      그냥 제가 보기엔 인덱스 값을 일부러 벗어나는 1000이라는 큰 값을 넣고
      그 인덱스에 값이 ' ' <- 요건 없다면 이란 의미같아요~
      그래서 true가 나오는 것 같아요~
      맞나? ㅋㅋㅋ
    • stringName.length로 값을 찍어보면 16이 나옵니다.

      그렇기 때문에 charAt(index)에 index로 들어갈 수 있는 index의 범위는
      0 ~ 15(stringName.length-1)가 됩니다.

      stringName.charAt(1000)와 같이 index의 범위 외의 값을 입력하였을 때는
      존재하지 않는 index이기 때문에 공백이 출력되게 됩니다.

      위의 예제에서 4번째 라인이 stringName.charAt()의 리턴값이 공백인지 비교해서
      true 또는 false를 리턴하게 됩니다.

      stringName.charAt(index) == '' 에서 index의 위치에 0~15사이의 값을 넣게 된다면
      각 index위치에 있는 문자가 리턴되서 false가 나오게 되고,
      15보다 큰 값을 넣게 된다면 공백이 리턴되서 true가 나오게 됩니다.

      sjh1105님께서는 0~15의 값을 입력하셨기 때문에 false가 나온 것 같네요.
      대화보기
      • sjh1105
        charAt(1000) 1000의 의미가 무엇인가요?
        적은 숫자를 입력하면 false가 나와서요 무슨 의미인지요...
      graphittie 자세히 보기