반응형

js 6

[Node.js] cli(command-line interface) 프로그램 생성하기(commander.js)

회사에서 신규 프로그램에 사용할 데이터를 자동으로 가공하는 프로그램을 만들고 있습니다. Node 기반으로 프로그램을 작성하고 있는데, cli를 이용하여 입력 값을 받아 동작하도록 구현했습니다. 이를 구현하기 위해 commander.js를 사용했습니다. 제가 사용한 방법 위주로 정리해보도록 하겠습니다. commander.js를 사용하기 위해서는 아래와 같이 패키지를 설치해야합니다. $ npm install --save commander Option 일반적인 Option을 정의합니다. 옵션의 데이터가 올 수 도 있고, 옵션만 사용할 수도 있습니다. app.js 를 아래와 같이 작성합니다. const { Command } = require('commander'); const program = new Comma..

JavaScript 2021.02.18

[JavaScript] setTimeout의 delay는 음수도 가능할까?

일정 시간 이후에 특정 구문을 실행하기 위해 setTimeout을 사용합니다. 그리고 가끔은 함수 호출 순서를 바꿔주기 위해 setTimeout의 delay에 0을 사용하기도 합니다. 그렇다면 delay를 음수로 준다면 어떤 일이 발생할까요? 일반적으로 delay 어떤 딜레이 값을 사용했다고 하더라도 최소 지연시간보다 작다면 최소지연 시간으로 맞춰지게 됩니다. HTML5 스펙에는 최소 지연 시간을 4ms로 명시하고 있습니다. 즉, 음수로 delay를 지정했더라도 최소 지연 시간 이후에 callback이 실행된다는 것입니다. 단, 예외가 있습니다. Stackoverflow 답변에 따르면 음수로 입력했을 때, 모든 브라우저에서 callback의 실행을 보장하진 않는다고 합니다. Internet Explore..

JavaScript 2021.01.21

[JavaScript/Pseudoclassical/ES5] Subclass method에서 Superclass Method 호출하기(오버라이딩 메서드 호출)

var SuperClass = function() { this.name = 'super'; }; SuperClass.prototype.print = function() { console.log('[SUPER] ' + this.name); }; var SubClass = function() { this.name = 'sub'; }; SubClass.prototype = new SuperClass(); SubClass.prototype.print = function() { console.log('[SUB] ' + this.name); // I want to call super's print method! }; var obj = new SubClass(); obj.print(); SuperClass와 SubC..

JavaScript 2021.01.20

[JavaScript] Function.prototype.call/apply/bind

Function.prototype.call() 주어진 this와 파라매터 목록을 가지고 함수를 호출. function Product(name, price) { this.name = name; this.price = price; } function Food(name, price) { Product.call(this, name, price); this.category = 'food'; } console.log(new Food('cheese', 5).name);// 'cheese' Function.prototype.apply() 주어진 this와 파라매터 배열(혹은 유사 배열 객체도 가능)을 가지고 함수를 호출. const numbers = [5, 6, 2, 3, 7]; const max = Math.max...

JavaScript 2021.01.20

[JavaScript] Math 정리

Math Object는 수학적인 일을 수행한다. Math Object Properties Property 설명 E 오일러 수 값 (Euler's number, 약 2.718) LN2 자연로그 log2 값 (약 0.693) LN10 자연로그 log10 값 (약 2.302) LOG2E 2를 밑으로 하는 logE 값 (약 1.442) LOG10E 10을 밑으로 하는 logE 값 (약 0.434) PI PI 값 (약 3.14) SQRT1_2 루트 1/2 값 (약 0.707) SQRT2 루트 2 값 (약 1.414) Math Object Methods Method 설명 예제 예제 결과 abs(x) 절대 값을 반환한다. Math.abs(-10) 10 ceil(x) 가장 근접한 정수로 올림. Math.ceil(11...

JavaScript 2019.12.10

[JavaScript][IE] script65535: 호출 개체가 잘못되었습니다.

Internet Explorer에서만 발생한 오류입니다. var obj = {}; toString.call(obj); 위와 같이 toString을 호출하며 obj를 매개변수로 던졌더니 오류가 발생했습니다. 참고로 Chrome에서는 정상적으로 동작하지만 IE에서만 발생한 문제입니다. 오류가 발생한 이유는 toString.call(obj) 호출하면 Object.prototype.toString 함수가 호출되는 것이 아니라 window.toString 함수가 호출됩니다. window.toString의 경우 스펙이 없기 때문에 window.toString에 대한 구현은 브라우저마다 차이가 날 수 있습니다. Chrome에서는 자연스럽게 Object.prototype.toString 연결시켜줬지만, IE에는 그렇게..

JavaScript 2019.07.08
반응형