Frontend/JavaScript

JavaScript 이벤트 전파와 중단하기 JavaScript의 이벤트 전파와 중단 방법에 대해 알아보겠습니다. 1. Event 전파 브라우저에서 요소에 대한 event가 발생하면 해당 요소에 할당된 handler가 동작하게 되는데, 이 때 handler가 동작하면서 다음과 같이 Bubbling과 Capturing이 발생하게 됩니다. 1.1. Bubbling bubbling은 특정 요소에서 event가 발생했을 때 상위 요소로 event가 전파되는 것을 의미합니다. click 위의 코드를 실행하고 을 클릭하면 다음과 같이 콘솔 로그가 출력됩니다. 브라우저에서 event bubbling이 발생하면 최상위 요소인 document 객체에 도달할 때까지 상위로 이벤트가 전파됩니다. 이벤트가 전파되는 것을 확인하..
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를 기준으로 각각의 차이점에 대해 정리해봤습니다. 1. 상수 상수는 일종의 변수이며 변수처럼 값을 저장하기 위한 메모리 공간을 필요로 합니다. 일반적인 변수는 재할당을 통하여 값을 변경할 수 있지만 상수로 사용하는 변수에는 값의 재할당을 할 수 없다는 차이점이 있습니다. 상수는 상태 유지, 가독성, 유지보수의 편의성 등을 위해 사용하는 것이 좋습니다. JavaScript에서 상수는 const 키워드를 사용하여 선언합니다. const 키워드로 선언한 변수는 재할당을 할 수 없게 됩니다. 하지만 상수에 primitive type의 값이 아닌 객체를 할당한 경우엔 값의 변경이 ..
JavaScript 객체 JavaScript의 객체는 0개 이상의 프로퍼티(key, value) 또는 메서드로 구성된 집합체입니다. JavaScript는 객체 기반의 스크립트 언어이며 JavaScript의 거의 모든 것들이 객체로 구성되어 있습니다. 따라서 JavaScript에서 사용 가능한 모든 값은 프로퍼티 값으로 사용이 가능합니다. 프로퍼티 (property) key와 value로 구성되어 객체의 상태를 나타내는 값 메서드 (method) 프로퍼티의 value가 함수로 구성된 경우이며, 프로퍼티를 참조하고 조작할 수 있는 동작을 정의 또한 원시 타입(primitive type)은 하나의 값만 나타내는 변경 불가능한 값이지만, 객체 타입(object type)은 다양한 타입의 여러 값을 하나의 단위로..
JavaScript Math 객체 JavaScript의 Math 객체는 수학적인 연산을 위한 함수와 상수를 위한 프로퍼티와 메서드를 제공합니다. 빌트인 객체이며 생성자 함수가 아니기 때문에 프로퍼티와 메서드는 static으로 제공됩니다. 1. Math 객체의 Property 1.1. Math.PI Math 객체의 PI 프로퍼티는 원주율 값을 반환합니다. 1 2 3 4 // Math.PI const pi = Math.PI; console.log(pi); // 3.141592653589793 cs 2. Math 객체의 Method 2.1. abs() abs() 메서드는 파라미터로 전달된 숫자값의 절대값을 반환합니다. 반환되는 절대값은 0 또는 양수이며 그 외의 경우는 NaN으로 반환됩니다. 1 2 3 4 5..
JavaScript 배열 고차 함수 JavaScript 배열 고차 함수에 대해 알아보겠습니다. JavaScript 배열의 고차 함수로는 Map, Set, Reduce, Sort, Filter 등이 있습니다. 고차 함수는 함수를 파라미터로 전달받거나 연산의 결과로 반환해주는 역할을 합니다. JavaScript는 다양한 고차 함수를 지원하고 있는데 그 중 Array 객체의 유용한 고차 함수에 대해 정리해보겠습니다. 1. Array.forEach() forEach() 메서드는 for문을 대체하는 고차 함수입니다. 반복문을 추상화하여 구현된 메서드이고 내부에서 주어진 배열을 순회하면서 연산을 수행합니다. for문과는 다르게 break, continue를 사용할 수 없어서 배열의 모든 요소를 중단없이 순회한다는 ..
JavaScript Moment.js 라이브러리 Moment.js 라이브러리는 날짜와 시간에 관련된 데이터의 파싱, 검증, 조작 등을 위해 만들어진 유용한 라이브러리입니다. 이전에 Date 객체를 이용하여 날짜와 시간에 관련된 연산을 할 때는 별도의 공통 함수를 만들어 사용해야 했지만, Moment.js를 사용하면 내장된 함수를 이용하여 간단하게 처리할 수 있습니다. https://momentjs.com/docs/ 1. Moment.js 라이브러리 사용하기 1.1. Node.js Node.js에서 Moment.js 라이브러리는 다음과 같이 사용합니다. 1 npm install moment cs 1 2 var moment = require('moment'); // require moment().format..
JavaScript Number 객체 JavaScript의 Number 객체는 숫자를 다루는 타입입니다. 변수 또는 객체의 프로퍼티 값이 숫자라면 Number 객체의 프로퍼티와 메서드를 사용할 수 있습니다. 이렇게 별도의 객체 생성없이 프로퍼티와 메서드를 사용할 수 있는 것은 Number 객체가 wrapper 객체이기 때문입니다. * wrapper 객체는 원시 타입이 wrapper 객체의 프로퍼티나 메서드를 호출할 때, 일시적으로 연관된 wrapper 객체로 변환하여 prototype 객체를 공유합니다. JavaScript에서 숫자의 표기는 IEEE 754 형식을 따르고 있고 32비트까지 표현이 가능합니다. IEEE 754 형식은 부동소수점을 표현하는 가장 널리 쓰이는 표준이며 +0, -0, Infini..
freestrokes
'Frontend/JavaScript' 카테고리의 글 목록