JavaScript에서 String.slice와 String.substring의 차이점

Tahseen Tauseef 2023년10월12일
  1. JavaScript에서 Stringprototype이란 무엇입니까?
  2. JavaScript에서 slicesubstring이란 무엇입니까?
  3. JavaScript에서 slicesubstring의 유사점은 무엇입니까
  4. JavaScript에서 slicesubstring의 차이점은 무엇입니까
JavaScript에서 String.slice와 String.substring의 차이점

이 튜토리얼 기사에서 우리는 JavaScript에서 슬라이스와 부분 문자열이 무엇인지, 그리고 그것들을 구별하는 것과 그렇지 않은 것에 대해 논의할 것입니다. 이 기사에서는 다음 질문을 다룰 것입니다.

  • 스트링과 프로토타입이란?
  • slicesubstring이란 무엇입니까?
  • slicesubstring의 유사점은 무엇입니까?
  • slicesubstring의 차이점은 무엇입니까

JavaScript에서 Stringprototype이란 무엇입니까?

먼저 String 객체에 대해 논의해 보겠습니다. string 개체는 일련의 문자를 나타내는 데 사용되며 일반적으로 텍스트로 표현해야 하는 데이터와 함께 사용됩니다.

참고: 기본 값은 속성이나 메서드를 가질 수 없습니다.

JavaScript는 기본 값을 도우미 메서드 및 속성과 같은 추가 기능을 제공하는 특수 “객체 래퍼"로 래핑하여 객체로 취급합니다. 각 기본 유형에는 “객체 래퍼"가 있습니다. 문자열 유형은 문자열이라고 합니다.

prototype에 주의를 집중합시다. prototype은 모든 JavaScript 객체를 포함하는 전역 속성입니다. 기존 개체에 새 메서드와 속성을 추가할 수 있습니다.

function footballClub(name, stadium, founded) {
  this.name = name;
  this.stadium = stadium;
  this.founded = founded;
}
footballClub.prototype.firstTeamPlayers = 11;

const FCB = new footballClub('FC Barcelona', 'Camp Nou', 1899);
console.log(FCB.firstTeamPlayers);
// logs 11

출력:

11

위의 예에서 각 footballClub 인스턴스는 firstTeamPlayers 속성이 11로 설정됩니다. 마찬가지로 prototype 속성을 사용하면 문자열에 새 속성과 메서드를 추가할 수 있습니다.

JavaScript에서 slicesubstring이란 무엇입니까?

slicesubstring은 모든 자바스크립트 문자열에 함수 형태로 존재하는 프로토타입 속성입니다. slicesubstring 함수는 문자열의 일부를 추출하여 새 문자열로 반환합니다. slice 메소드는 원래 string을 변경하지 않습니다.

첫 번째 인수는 추출을 시작할 시작 인덱스를 지정하고(인덱스는 0에서 시작) 두 번째 인수는 문자열의 끝 인덱스를 지정합니다(끝 인덱스는 추출의 일부로 포함되지 않음).

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(3, 8);
let substringStr = str.substring(3, 8);
console.log(slicedStr)     // logs: na be
console.log(substringStr)  // logs: na be

출력:

na be
na be

JavaScript에서 slicesubstring의 유사점은 무엇입니까

startstop과 같으면 slicesubstring은 모두 빈 문자열을 반환합니다.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 8);
let substringStr = str.substring(9, 8);
console.log(slicedStr)     // logs:
console.log(substringStr)  // logs:

출력:

stop(두 번째 인수)이 slicesubstring을 모두 포함하지 않으면 문자열 끝까지 문자를 추출합니다.

let str = "Gonna be extracted,Help!"; 
let slicedStr = str.slice(3);
let substringStr = str.substring(3);
console.log(slicedStr) // logs: na be extracted,Help!
console.log(substringStr) // logs: na be extracted,Help!

출력:

na be extracted,Help!
na be extracted,Help!

start 또는 stop 인수가 문자열의 길이보다 크면 전달된 인수 대신 문자열의 길이가 사용됩니다.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(1, 100);
let substringStr = str.substring(1, 100);
console.log(slicedStr)     // logs: onna be extracted,Help!
console.log(substringStr)  // logs: onna be extracted,Help!

출력:

onna be extracted,Help!
onna be extracted,Help!

JavaScript에서 slicesubstring의 차이점은 무엇입니까

start 인수가 slicestop 인수보다 크면 빈 문자열을 반환하는 반면 substring은 이 경우 두 인수를 교환합니다.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(8, 3);
let substringStr = str.substring(8, 3);
console.log(slicedStr)     // logs:
console.log(substringStr)  // logs: na be

출력:

na be

start 인수 또는 stop 인수가 음수이거나 NaN이면 substring에서 값이 0인 것처럼 처리되고 start 인수가 음수이면 문자열 끝에서부터 문자를 설정합니다.

let str = 'Gonna be extracted,Help!';
let slicedStr = str.slice(-1);
let substringStr = str.substring(-1);
console.log(slicedStr)     // logs: !
console.log(substringStr)  // logs: Gonna be extracted,Help!

출력:

!
Gonna be extracted,Help!

관련 문장 - JavaScript String