주말공부 메모

해달·2021년 7월 4일
0

TIL

목록 보기
10/80
post-thumbnail

< dateObj.getFullYear() >

getFullYear() 사용하기

이 예제에서는 현재 연도의 네 자릿값을 변수 year에 할당합니다.

var today = new Date();
var year = today.getFullYear();





< new Date() >


Date()
함수로 호출할 경우 new Date().toString()과 동일하게 현재 날짜와 시간을 나타내는 문자열을 반환합니다.

--> "Sun Jul 04 2021 11:55:25 GMT+0900 (대한민국 표준시)"
// string 타입

new Date()
생성자로 호출할 경우 새로운 Date 객체를 반환합니다.

--> Sun Jul 04 2021 11:55:18 GMT+0900 (대한민국 표준시)
// 객체? 반환

데이터 종류 MDN //엄청 많다 !




new Date().getFullYear(); // 현재 날짜 시간 에서 연도 출력하기
---> 2021
이런 메소드 ? 를 처음 알게 되었다

.this
아무것도 가르키지 않고 비교하게 되면
windows === this

만약

const o = {
  func : function (){
    if(o === this){
      console.log("o === this");
    }
  }
}

결과 : 콘솔로그 찍힌다!!

아직 이론은 어렵지만 이해하려고 정리해보는 중,,

o라는 객체에서 메소드를 호출(func) 그 this의 값이
o라는 객체를 가르킨다.

어떠한 객체에서 메소드를 호출 했을때 , 그 this의 값이
그 메소드의 소속인 객체를 가르킨다




method 는 =

'어떤 객체의 속성으로 정의된 함수'

 megalomaniac = {
      mastermind: 'Joker',
      henchwoman: 'Harley',
      getMembers: function () {
        return [this.mastermind, this.henchwoman];
      }

getMembers는 megalomaniac 객체의 속성으로 정의된 함수인 '메소드'


megalomaniac.getMembers()와 같은 형태로 사용(호출)할 수 있죠.


method는 항상 '어떤 객체'의 method 입니다

따라서 호출될 때마다 어떠한 객체의 method일 텐데, 그 '어떠한 객체'를 묻는 것이 this입니다.




[str.repeat]

repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.

str.repeat(count);

  • count
    * 문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +∞)).
  • 반환값
    • 현재 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열.
  • 예외
    RangeError: 반복 횟수는 양의 정수여야 함.
    RangeError: 반복 횟수는 무한대보다 작아야 하며, 최대 문자열 크기를 넘어선 안됨
'abc'.repeat(-1);   // RangeError
'abc'.repeat(0);    // ''
'abc'.repeat(1);    // 'abc'
'abc'.repeat(2);    // 'abcabc'




< Object.assign() >

Object.assign() 메소드는 열거할 수 있는 하나 이상의 출처 객체로부터 대상 객체로 속성을 복사할 때 사용합니다. 대상 객체를 반환합니다..

❗❗ 동일한 키가 존재할 경우 대상 객체의 속성은 출처 객체의 속성으로 덮어쓰여집니다. ❗❗
❗❗ 후에 출처의 속성은 이전의 출처의 속성과 유사하게 덮어씁니다. ❗❗

이 메소드는,
객체 안의 객체는 복사하는게 아니고 참조를한다.




깊은복사와 얕은복사

JSON.parse (JSON.stringify (object));

참조하는 내용까지 복사해오려면 (깊은복사)
위 메소드를 사용해야한다.





arguments 객체

arguments 객체는 함수에 전달된 인수에 해당하는 Array 형태의 객체입니다.





Rest 파라미터

  • rest parameter는 항상 배열입니다.

함수의 마지막 파라미터의 앞에 ... 를 붙여 (사용자가 제공한) 모든 나머지 인수를 "표준" 자바스크립트 배열로 대체합니다.
// 내가 유일하게 알아 들을 수 있는 말.

마지막 파라미터만 "Rest 파라미터" 가 될 수 있습니다.

Rest 파라미터 및 arguments 객체간 차이

Rest 파라미터와 arguments 객체 사이에 세 가지 주요 차이점이 있습니다:

  • Rest 파라미터는 구분된 이름(예, 함수 표현에 정식으로 정의된 것)이 주어지지 않은 유일한 대상인 반면, arguments 객체는 함수로 전달된 모든 인수를 포함합니다.
  • arguments 객체는 실제 배열이 아니고 rest 파라미터는 Array 인스턴스로, sort, map, forEach 또는 pop 같은 메서드가 바로 인스턴스에 적용될 수 있음을 뜻합니다.
  • 즉 arguments 객체는 자체에 특정 추가 기능이 있습니다 (callee 속성처럼).

< mdn... i love you.. >





reduce ()

Array.prototype.reduce()
reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.

리듀서 함수는 네 개의 인자를 가집니다.

누산기accumulator (acc)
현재 값 (cur)
현재 인덱스 (idx)
원본 배열 (src)
리듀서 함수의 반환 값은 누산기에 할당되고, 누산기는 순회 중 유지되므로 결국 최종 결과는 하나의 값이 됩니다.

arr.reduce(callback[, initialValue])





Array.from

Array.from() 메서드는 유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만듭니다

반환 값
새로운 Array 인스턴스.

0개의 댓글