29일차 - 2022.03.29

오늘 공부한 내용 요약

this에 대해(1)


  • 아무 함수에도 속하지 않은 this는 언제나 window 객체를 참조한다.
    stirct 모드에서는 undefined를 참조.
    함수에 속해있는 경우 this의 값은 함수를 호출하는 방법에 따라 값이 결정됨

  • 함수와 객체의 구분이 명확하지 않은 자바스크립트에서는 this가 둘을 구분하는데 거의 유일한 방법임

  • 전역공간에서 this는 전역객체
    변수선언 대신에 window의 프로퍼티에 직접 할당해도 선언한것과 동일한 결과 나옴

let a = 1;
window.b = 2;
console.log(a, this.a);     //  1  1
console.log(b, this.b);     //  2  2

window.a = 1;
console.log(a, this.a, window.a);   //  1  1  1

예외로 삭제명령 일때는 다를 수 있음

let a = 1;
delete window.a;      // false
console.log(a,this.a);  // 1  1

window.a = 1;
delete window.a;          // true
console.log(a, this.a);   //  오류


메서드, 객체, 프로퍼티 개념 다시 이해

  • 함수와 메서드 둘다 정의된 동작을 수행하는 것 / 차이는 독립성
    함수는 독립성이 있고 메서드는 호출한 대상 객체의 동작을 수행함.

  • 메서드는 객체의 프로퍼티에 할당된 함수 x
    함수를 객체의 프로퍼티에 할당하는 것뿐 아니라 객체의 메서드로서 호출할 경우에만 동작한다.
    그렇지 않으면 함수로 동작함

  • 함수로서 호출과 메서드로서의 호출은 간단히 함수앞에 점이 있는지 여부로 구분이 가능

  • 객체는 참조형데이터 타입으로 배열, 함수,날짜,객체, map, set 등으로 숫자형, 문자형, null, undefined 등의 원시형 데이터 아님

  • 객체는 여러속성을 하나의 변수에 저장할 수 있도록 해주는 데이터 타입
    객체에서 명명된 값을 프로퍼티라고 함

  • 객체는 키와 값으로 구성된 프로퍼티들의 집합.

  • 프로퍼티의 값으로 자바스크립트에서 사용할 수 있는 모든 값을 사용가능

  • 프로퍼티 값이 함수일 경우, 일반 함수와 구분하기 위해 메서드라 부름


Baekjoon에서 문제풀이

문제 : 두 정수 A와 B를 입력받은 후 A+B를 출력하는 프로그램을 작성해보자.
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

풀이

A = Math.floor(Number(A));
B = Math.floor(Number(B));

처럼 숫자형으로 바꾸고 소수점을 버려 정수로 만들려했었는데 다른 쓸만한 함수가 있을까 찾아보던 중
parseInt라는 Number처럼 숫자형으로 바꿔주지만 문자열이 포함된 경우에도 숫자까지만을 반환해주는 더 좋아보이는 함수를 찾아 적용해보았으나 아직 답 찾지못함.
(0 < A, B < 10)의 조건을 추가하는 방식 고민중

공부 출처

코어 자바스크립트 -정재남- 지음
BaekJoon


내일 학습 예정

  • 백준
  • this(2)

위의 내용은 공부중 본인이 이해한 내용으로 몇몇 틀린 내용이 있을 수 있습니다.
회독중 발견시 수정하겠습니다

좋은 웹페이지 즐겨찾기