

두가지 메소드의 차이점을 보자면
str.substr(시작 인덱스, 추출 갯수)
substr은 시작 인덱스번호, 몇개를 추출할것인지를 입력받는 반면에
str.substring(시작 인덱스번호, 끝 인덱스번호)
substring은 시작 인덱스 번호, 끝 인덱스번호를 입력받는다
var str= "ABCDEFGH";
var str_substr = str.substr(1,4); // 1번 인덱스부터 4개의 문자를 추출하라!
var str_substring = str.substring(1,4); // 1번 인덱스부터 4번 인덱스까지 추출하
console.log(str_substr); // BCDE
console.log(str_substring); // BCD
const arr = [1,2,3,4,5];
array.slice(0,4) // [1,2,3,4]
array // [1,2,3,4,5] 원본은 변하지 않습니다
let arr = ['1','2','3','4','5','6'];
arr.splice(1, 3);
["2", "3", "4"]
//output:["1", "5", "6"]
let arr = ['1','2','3','4','5','6'];
arr.splice(1, 3 , 'A','B');
["2", "3", "4"]
//output:['1', 'A', 'B', '5', '6']
let arr = ['1','2','3','4','5','6'];
arr.splice(3, 0 , 'A','B');
['1',"2", "3", "4",'A','B','5','6']
//output:['1', 'A', 'B', '5', '6']
let arr = ['1','2','3','4','5','6'];
arr.splice(-2, 2 , 'A','B');
//output:['1', '2','3','4','A', 'B',]
let arr = ['1','2','3','4','5','6'];
arr.splice(1);
//output:['1']