띠용 알게된 것 >> array
let myArr = [];
myArr.push(3);
// 출력 값은 '1'
// typeof 는 number 가 나온다.
// 나는 새롭게 적용된 배열의 데이터 타입이 나올 것이라 기대했다.
myArr;
// 하지만 push();는 'number' 타입이고
// push(); 해준 뒤, 다시 변수 myArr;를 호출하면 배열이 나오더라.
The push() method adds one or more elements to the end of an array and returns the new length of the array.
:: 배열의 '길이'를 반환
마찬가지로 unshift(); 도 길이를 반환
하지만 pop(); 는 요소를 반환, 즉 배열을 반환
let myArr = [];
myArr = myArr.push(3);
/// 출력 값은 오류
먼저 떠올린 오류가 난 이유 : myArr는 'object(=array)' / myArr.push(3)은 'number'라서 데이터값이 서로 맞지않기 때문이라 생각했다. 그치만 아니다. let 변수는 숫자, 배열, 함수 등 다 재할당이 가능하기 때문이다.
-- 하지만 정확한 이유는 js가 하는 일의 순서를 보면 답이 있다.
1) myArr 가 처음엔 배열이었고
2) myArr = myArr.push(3);되면서 숫자가 된다.
3) 숫자에는 push라는 메소드가 없기 때문에
오류가 발생했다.
오늘의 지혜 > mdn 공식문서를 꼼꼼히 읽어보기 ! (무엇을 반환하는지)
Author And Source
이 문제에 관하여(띠용 알게된 것 >> array), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@howyoujini/javascriptD4저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)