자바스크립트25 Date 표준 빌트인 객체인 Date는 날짜와 시간을 위한 메서드를 제공하는 빌트인 객체이면서 생성자 함수다. 생성자 함수로 생성한 Date객체는 내부적으로 날짜와 시간을 나타내는 정수값을 갖는다. 이 값은 1970년 1월 1일 00:00:00(UTC)을 기점으로 Date객체가 나타내는 날짜와 시간까지의 밀리초를 나타낸다. 기본값은 현재 날짜와 시간을 나타내는 정수값이다. new Date() Date 생성자 함수를 인수없이 호출하면 현재 날짜와 현재 시간을 갖는 Date객체를 반환한다. 하지만 new 연산자 없이 호출하면 Date객체를 반환하지 않고 날짜와 시간 정보를 나타내는 문자열을 반환한다. new Date(milliseconds) Date 생성자 함수에 숫자 타입의 밀리초를 인수로 전달하면 1970년 1월.. 2020. 11. 24. Number & Math 표준 빌트인 객체인 Number객체는 생성자 함수 객체이다. 따라서 new 연산자와 함께 호출하여 Number 인스턴스를 호출할 수 있다. Number 생성자 함수에 인수를 전달하지 않고 new 연산자와 함께 호출하면 [[NumberData]] 내부 슬롯에 0을 할당한 Number 객체를 생성한다. Number.EPSILON Number.EPSILON은 1과 1보다 큰 숫자중에서 가장 작은 숫자와의 차이와 같다. 약 2.22044604....... x 10 ** (-16) 과 같다. 그렇다면 언제 사용될까? 보통 부동소수점 산술 연산은 정확한 결과를 기대하기 어렵다. 그래서 부동소수점으로 인해 발생되는 오차를 해결하기 위해 사용한다. function isEqual(a, b) { // a와 b를 뺀 값의 .. 2020. 11. 24. 클로저 클로저는 사실 자바스크립트 고유의 개념이 아니다. 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어 (하스켈, 리스프, 얼랭, 스칼라 등)에서 사용되는 중요한 특성이다. MDN에서는 클로저에 대해 다음과 같이 정의하고 있다. 클로저는 함수와 그 함수가 선언된 렉시컬 환경과의 조합이다. 이것만 봐선 잘 와닿지 않는다. const x = 1; function outer() { const x = 10; function inner() { console.log(x); // 10 } inner(); } outer(); outer 함수 내부에서 중첩 함수 inner 가 정의되고 호출되었다. 이때 중첩 함수 inner의 상위 스코프는 outer의 스코프이다. 따라서 중첩 함수 inner 내부에서 자신을 포함하고 있는.. 2020. 11. 18. this this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메서드를 참조할 수 있다. // 전역에서의 this는 window를 가리킨다. console.log(this); // window function foo(number) { // 일반 함수 내부에서 this는 전역 객체 window를 가리킨다. console.log(this); // window return number * 2 } const person = { name: 'kang', getName() { // 메서드 내부에서 this는 메서드를 호출한 객체를 가리킨다. console.log(this); // {name: "kang", getNa.. 2020. 11. 18. 이전 1 2 3 4 5 6 7 다음