본문 바로가기

programming study

(889)
28장. Number(2) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 28.3 Number 메서드 28.3.1 Number.isFinite 정적 메서드 유한수인지 검사하여 불리언으로 반환 28.3.2 Number.isInteger 정적 메서드 정수인지 검사하여 불리언으로 반환 28.3.3 Number.isNaN ES6 정적 메서드 NaN인지 검사하여 불리언으로 반환 28.3.4 Number.isSafeInteger 인수로 전달한 숫자값이 안전한 정수인지 검사하여 불리언으로 반환 28.3.5 Number.prototype.toExponential 프로토타입 메서드 전달 받은 인수를 지수 표기법 문자열로 반환 숫자 리터럴과 사용시 괄호를 쓸 것 .의 구분이 모호, ..
28장. Number(1) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 28.1 Number 생성자 함수 Number 객체 표준 빌트인 객체 생성자 함수 객체 Number 인스턴스 생성 가능 인수 전달하지 않고 new 연산자와 함께 호출하면 [[NumberData]] 내부 슬롯에 0을 할당한 Number 래퍼 객체 생성 인수를 전달하고 new 연산자와 함께 호출하면 [[NumberData]] 내부 슬롯에 인수로 전달받은 숫자를 할당한 Number 래퍼 객체 생성 숫자가 아닌 값을 전달하면 숫자로 강제 변환 숫자로 변환할 수 없으면 NaN을 할당한 래퍼 객체 생성 28.2 Number 프로퍼티 28.2.1 Number.EPSILON ES6 도입 1과 1보다 큰 숫자..
27장. 배열(4) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 27.9 배열 고차 함수 27.9.4 Array.prototype.filter 모든 요소를 순회하며, 콜백 함수의 반환값이 true인 요소로만 구성된 새로운 배열 반환 특정 요소만 추출 filter 메서드가 생성하여 반환한 새로운 배열의 length는 원본 배열의 length보다 같거나 작음 원본 배열은 변경되지 않음 const pats = [ {name: 'siru', isCat: true, isDog: false}, {name: 'dangdangi', isCat: false, isDog: true}, {name: 'nunu', isCat: true, isDog: false}, {name: ..
27장. 배열(3) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 27.9 배열 고차 함수 고차 함수: 함수를 인수로 전달받거나 함수를 반환하는 함수 외부 상태의 변경이나 가변을 피하고 불변성을 지향하는 함수형 프로그래밍에 기반 조건문과 반복문을 제거 변수의 사용 억제 순수 함수를 통해 부수 효과를 최대한 억제 27.9.1 Array.prototype.sort 배열 요소 정렬 원본 배열을 직접 변경하며 정렬된 배열 반환 기본적으로 오름차순으로 요소 정렬 기본 정렬 순서는 유니코드 코드 포인트의 순서를 따름 숫자를 정렬할 때는 정렬 순서르 정의하는 비교 함수를 인수로 전달 비교 함수는 양수, 음수 또는 0을 반환해야 함 음수인 경우, 첫 번째 인수를 우선하여 ..
27장. 배열(2) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 27.5 배열 요소의 참조 참조할 때에는 대괄호 표기법([]) 사용 대괄호 안에는 인덱스 정수로 평가되는 표현식 사용 가능 요소가 존재하지 않으면 undefined 27.6 배열 요소의 추가와 갱신 배열에 요소를 동적으로 추가 가능 존재하지 않는 인덱스를 사용해 값 할당 가능 length 프로퍼티는 자동 갱신 legnth 프로퍼티보다 큰 인덱스에 할당 시에는 희소 배열이 됨 27.7 배열 요소의 삭제 배열도 객체이므로 delete 연산을 사용하여 특정 요소 삭제 가능 length 프로퍼티에 영향을 주지 않음 희소배열이 되므로 사용하지 않는 것이 좋음 splice 메서드를 사용할 것을 권장 27..
27장. 배열(1) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 27.1 배열이란? 여러 개의 값을 순차적으로 나열한 자료구조 요소(element) : 배열이 가지고 있는 각각의 값 인덱스 : 배열 요소의 위치를 의미하는 값 0부터 시작 length: 배열 요소의 개수 즉 길이를 의미하는 값 자바스크립트의 배열은 객체 타입 const churu = ['참치맛', '연어맛', '닭고기맛']; ​ console.log(churu[0]); // 참치맛 console.log(churu[1]); // 연어맛 console.log(churu[2]); // 닭고기맛 console.log(churu.length); // 3 console.log(typeof churu);..
26장. ES6 함수의 추가 기능(3) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 26.4 Rest 파라미터 26.4.1 기본 문법 매개변수 이름 앞에 세개의 점을 붙여서 표현 Rest 파라미터는 함수에 전달된 목록을 배열로 전달 받음 일반 파라미터와 혼용 가능 반드시 마지막 파라미터여야 함 단 하나만 선언 가능 function eatChuru(...churus) { console.log(churus); // ['참치맛', '닭고기맛', '연어맛'] } 26.4.2 Rest 파라미터와 arguments 객체 arguments는 유사 배열 객체 순회 가능 함수 내부에서 지역변수처럼 사용 call, apply 메서드를 사용해 배열로 변환해야 함 Rest 파라미터는 배열로 변환하..
26장. ES6 함수의 추가 기능(2) 본 내용은 모던 자바스크립트 Deep Dive - 자바스크립트의 기본 개념과 동작 원리를 토대로 작성하였습니다. 26.3 화살표 함수 26.3.3 this 화살표 함수가 일반 함수와 구별되는 가장 큰 특징 일반함수에서 this 바인딩은 함수의 호출방식에 따라 동적으로 결정 일반 함수로서 호출되는 모든 함수의 내부 this는 전역 객체 strict mode에서는 undefined 콜백 함수로 사용되는 일반 함수에서 문제를 일으킴 화살표 함수는 함수 자체의 this를 가지지 않음 상위 스코프의 this를 그대로 참조(Lexical This) 화살표 함수의 this가 함수의 정의된 위치에따라 결정 call, bind 메서드를 사용해도 this 교체 불가 메서드를 화살표 함수로 정의하는 것은 피할 것 상위 스코..