javascript: String, Null, undefined

김선미·2022년 12월 23일

String

  • 문자로 이루어진 데이터
  • 따옴표로 감싸진 형태로 작성한다. 작은 따옴표, 큰 따옴표 모두 사용 가능하다.
  • 따옴표 안에 따옴표를 담는것은 가능하지만 같은 따옴표를 사용하면 도중에 닫는 것으로 인식한다.
"I say "go away"" (x), "I say 'go away'"(O), 'You had me at "hello"'(O)

index

  • 문자열은 인덱싱되어있다.
  • 인덱스를 통해 각 문자에 접근할 수 있다. 인덱스는 0으로 시작하며 존재하지 않는 인덱스는 undefinded 라고 뜬다.
  • .length를 사용하여 길이를 구할 수 있다. length는 1으로 시작한다.
    • 변수에 넣지 않고 length를 확인할 수 있다. 예) "lol".length;

속성(변경 불가, 접합)

  • 문자열에서 일부를 수정 할 수 없고 새로운 문자열을 덮어써야한다.
  • 문자열과 문자열을 접합해 하나의 문자열로 만들 수 있다.
  • 문자열과 숫자를 합치면 자바스크립트는 숫자를 문자열로 바꿔 접합한다.

method

  • 문자열에 적용할 수 있는 메소드 세트가 있다. (개발자 도구 - 문자열 뒤에 .을 입력하면 메소드 목록이 나온다)
    • 메소드는 동시에 적용이 가능하다.
      let greeting = "  hello!! ";
      greeting.trim().toUpperCase();
    • 메소드를 통해 기존 문자열을 복사하여 새로운 문자열을 생성된다.
      const message = "    TASTE THE RAINBOW!  "; 
      let whisper = message.trim().toLowerCase();

argument

let str = "haha that is so funny!";
str.slice(5, 9); 
// start index와 end index를 인수로 받는다. (end index는 선택사항) 
// 실행 결과값: "that" 

str.slice(-6);
// 실행 결과값: "funny!"

str.replace('haha', 'lolololol');
// 실행 결과값: "lolololol that is so funny!"

"lol".repeat(2);
// 실행 결과값: "lollol"
  • 인수 : 메소드에 전달되어 메소드의 동작을 변경하는 입력 값
  • 인수가 있어야 동작하는 메소드에는 인수를 전달해야 한다.
  • 인수에 음수 인덱스를 전달할 수 있다. 예) slice 메소드에 음수 인덱스를 start index 인수로 전달하면 문자열 길이 + start index를 더한 값으로 취급된다. 즉, 음수를 입력하면 뒤에서부터 출력된다.

template literals

  • 템플릿 리터럴을 이용하면 문자열 안에 어떤 코드를 작성해도 표현식으로 취급한다.
  • 달러 괄호 안에는 변수, 연산, 메소드 호출 등 코드 작성이 가능하다.
`hello ${1+2+3}`
// 실행 출력값: "hello 6"

null

  • 일부러 값을 지정하지 않는 상태로 설정하는 것
  • 아무 값이 없을 때

undefined

  • 정의된 값이 없는 상태이다. 예) 변수를 정의하기만 했을 때. let x;
  • 직접 설정할 수는 없고 상태를 나타낸다.
profile
백엔드 개발 공부

0개의 댓글