concat, indexOf, includes

2020. 2. 15. 21:54JavaScript

 Array, String method의 immutable

 - method 사용했을 때 원본 Array, String이 변하지 않으면 immutable, 변하면 mutable

 - string method는 전부 immutable

 - array method의 경우는 method에 따라 다름

 

 

Array.prototype.concat( )   [immutable]

String.prototype.concat( )   [immutable]

 - 인자로 전달받은 배열을 기존 배열에 합쳐서 새 배열 반환

 - 기존 배열을 변경하지 않음

 - 반환값: 합쳐진 새로운 배열 / (문자열일 경우) 문자열

 

const arr1 = ['HTML', 'CSS', 'JavaScript'];
const arr2 = ['Python', 'Java', 'C'];
const arr3 = arr1.concat(arr2);
//result: ['HTML', 'CSS', 'JavaScript', 'Python', 'Java', 'C']

 

 

Array.prototype.indexOf( )   [immutable]

String.prototype.indexOf( )   [immutable]

 - 배열에서 인자로 받은 요소 찾을 수 있는 가장 첫 번째의 인덱스 반환

 - 존재하지 않는다면 -1 반환

 - Array.prototype.includes( ) 의 기능 포함하고 있음

 - 반환값: 인자로 전달받은 요소의 첫 번째 인덱스

 

const arr = ['HTML', 'CSS', 'JavaScript', 'Python', 'Java', 'C', 'HTML'];
console.log(arr.indexOf('JavaScript')); //result: 2
console.log(arr.indexOf('Windows')); //result: -1
console.log(arr.indexOf('HTML', 3)); //result: 6 (3번 인덱스부터 찾기 시작)

 

 

Array.prototype.includes( )   [immutable]

String.prototype.includes( )  [immutable]

 - 배열이 특정 요소를 포함하고 있는지 판별

 - 반환값: Boolean

 

const arr = ['HTML', 'CSS', 'JavaScript', 'Python', 'Java', 'C'];
console.log(arr.includes('JavaScript')); //result: true
console.log(arr.includes('Windows')); //result: false

 

 

 

'JavaScript' 카테고리의 다른 글

rest parameter, arguments, spread 연산자  (0) 2020.03.03
template 태그 & fragment  (0) 2020.03.01
split, slice, substring  (0) 2020.02.15
object의 메소드  (0) 2020.02.14
Object의 Dot Notation & Bracket Notation, 연산자  (0) 2020.02.14