Programming

JavaScript 배열 메서드 JavaScript 배열에서는 다양한 빌트인 메서드를 제공합니다. 배열의 메서드는 원본 배열을 변경하는 메서드(Mutator Method)와 새로운 배열을 생성하는 메서드(Accessor Method)가 있는데, 원본 배열을 변경하지 않는 메서드의 사용이 권장됩니다. 배열의 메서드 중에서 사용 빈도가 높은 메서드들을 정리하였습니다. 1. 정적 메서드 (Static Method) Array() 생성자 함수에서 제공하는 정적 메서드입니다. 1.1. Array.isArray() isArray() 메서드는 전달된 파라미터의 배열 여부를 판별하여 true/false를 반환합니다. console.log(Array.isArray([])); // true console.log(Array..
JavaScript 배열 배열은 여러 개의 요소들을 순차적으로 나열한 자료구조입니다. JavaScript에서는 배열은 다루기 위한 유용한 메서드들을 제공합니다. 1. 배열의 특징 화살표 함수는 ES6에서 도입된 문법입니다. function 키워드를 사용하는 것보다 간결하고 항상 익명으로 동작합니다. 1.1. JavaScript의 배열 JavaScript의 배열은 우리가 일반적으로 알고있는 배열처럼 요소(element)라고 부르는 값을 가지며 배열의 요소는 위치를 나타내는 index를 가지고 있습니다. JavaScript에서 배열은 객체 타입으로 분류되지만, 배열은 값의 순서와 length 프로퍼티를 갖는 특징으로 인하여 일반 객체와 구분됩니다. const arr = ['macbook', 'iphone',..
JavaScript 배열 고차 함수 JavaScript 배열 고차 함수에 대해 알아보겠습니다. JavaScript 배열의 고차 함수로는 Map, Set, Reduce, Sort, Filter 등이 있습니다. 고차 함수는 함수를 파라미터로 전달받거나 연산의 결과로 반환해주는 역할을 합니다. JavaScript는 다양한 고차 함수를 지원하고 있는데 그 중 Array 객체의 유용한 고차 함수에 대해 정리해보겠습니다. 1. Array.forEach() forEach() 메서드는 for문을 대체하는 고차 함수입니다. 반복문을 추상화하여 구현된 메서드이고 내부에서 주어진 배열을 순회하면서 연산을 수행합니다. for문과는 다르게 break, continue를 사용할 수 없어서 배열의 모든 요소를 중단없이 순회한다는 ..
JavaScript Number 객체 JavaScript의 Number 객체는 숫자를 다루는 타입입니다. 변수 또는 객체의 프로퍼티 값이 숫자라면 Number 객체의 프로퍼티와 메서드를 사용할 수 있습니다. 이렇게 별도의 객체 생성없이 프로퍼티와 메서드를 사용할 수 있는 것은 Number 객체가 wrapper 객체이기 때문입니다. * wrapper 객체는 원시 타입이 wrapper 객체의 프로퍼티나 메서드를 호출할 때, 일시적으로 연관된 wrapper 객체로 변환하여 prototype 객체를 공유합니다. JavaScript에서 숫자의 표기는 IEEE 754 형식을 따르고 있고 32비트까지 표현이 가능합니다. IEEE 754 형식은 부동소수점을 표현하는 가장 널리 쓰이는 표준이며 +0, -0, Infini..
JavaScript 데이터 타입 데이터 타입(Data Type)은 프로그래밍 언어에서 사용 가능한 데이터의 종류를 의미합니다. JavaScript의 모든 값은 데이터 타입을 갖게 되는데 ECMAScript(ES6) 기준으로 다음과 같이 7개의 데이터 타입이 제공됩니다. 원시 타입(Primitive Type) - number - string - boolean - undefined - null - symbol (ES6) 객체/참조 타입(Object/Reference Type) - object 1. 원시 타입(Primitive Type) 원시 타입의 값은 변경 불가능한 값(Immutable Value)이며, 값에 의한 전달(pass-by-value)이 이루어집니다. 1.1. number JavaScript에서..
JavaScript Date 객체 JavaScript의 Date 객체는 날짜와 시간에 관련된 메서드를 제공하는 빌트인 객체 입니다. Date 생성자로 생성된 Date 객체는 내부적으로 값을 갖는데 이 값에는 유닉스 시간(Unix time)이 사용됩니다. Unix Time Unix Time은 POSIX 시간이나 Epoch 시간이라고 부르기도 합니다. 1970-01-01 00:00:00(UTC) 일시를 기준으로 현재까지의 시간을 나타내는데 JavaScript에서는 밀리초(millisecond) 단위로 나타냅니다. UTC/GMT UTC(Coordinated Universal Time, 세계협정시)는 GMT(Greenwich Mean Time, 그리니치 평균시)에 기반하므로 UTC와 GMT는 초의 소숫점 단위에..
TypeScript 제네릭 TypeScript의 제네릭에 대해 알아보겠습니다. 1. 제네릭 TypeScript는 정적 타입 언어이기 때문에 함수 또는 클래스를 선언할 때 매개변수나 반환값의 타입을 정의해야 합니다. 하지만 이렇게 특정 타입을 위해 만들어진 함수나 클래스를 재사용 해야하는 경우가 발생하고 이 때 제네릭을 사용합니다. 2. 제네릭이 필요한 경우 다음은 자료구조 큐(Queue)를 TypeScript로 구현한 예제입니다. 123456789101112131415161718192021class Queue { protected data: any = []; constructor() {} push(item: any): void { this.data.push(item); } pop(): void { ret..
TypeScript 인터페이스 TypeScript의 인터페이스에 대해 알아보겠습니다. 1. 인터페이스 인터페이스(Interface)는 일반적으로 타입 체크를 위해 사용되며 변수, 함수, 클래스에 사용할 수 있습니다. 인터페이스는 여러가지 타입의 프로퍼티로 새로운 타입을 정의하는 것과 유사하며, 정의된 인터페이스는 일관성을 유지하기 위해 내부에 선언된 프로퍼티 또는 메소드의 구현을 강제하는 특징이 있습니다. 인터페이스는 클래스와 유사하지만 인스턴스 생성이 불가능하고 모든 메소드는 추상 메소드로 이루어져 있습니다. 또한 인터페이스의 추상 메소드는 abstract 키워드를 사용하지 않는다는 특징이 있습니다. 또한 ES6에서 지원하지 않고 TypeScript에서만 지원합니다. 2. 인터페이스의 사용 인터페이스는..
TypeScript 클래스 TypeScript의 클래스에 대해 알아보겠습니다. ES(ECMAScript)6에서 도입되었습니다. 클래스는 클래스 기반 언어에 익숙한 개발자가 보다 빠르게 학습할 수 있는 문법을 제시하지만 새로운 객체지향 모델을 제공하는 것은 아닙니다. 클래스도 프로토타입 기반 패턴의 함수를 보다 직관적인 문법으로 보기 쉽게 만든 것입니다. TypeScript에서 지원하는 클래스는 ES6와 유사하지만 몇 가지 다른 고유한 기능이 있습니다. 1. 클래스 ES6의 클래스에서는 클래스 내부에 프로퍼티를 선언할 수가 없어서 생성자 안에서 선언해야 하지만, TypeScript의 클래스는 클래스 내부에 프로퍼티 선언이 가능하고 사용할 프로퍼티를 먼저 선언해줘야 합니다. 123456789101112131..
freestrokes
'Programming' 태그의 글 목록 (3 Page)