본문 바로가기

Programming Language/JavaScript

(4)
[번역] 최신 모드, "use strict" 원글 The modern mode, "use strict" 오랫동안 자바스크립트는 호환성 문제 없이 진화했다. 이전 기능은 변경되지 않으면서 새로운 기능이 언어에 추가 되었다. 이 사실은 기존에 작성한 코드가 절대 깨지지 않는다는 장점이 있었다. 하지만 단점은 자바스크립트의 제작자들이 한 실수나 불완전한 결정은 영원히 그 언어에 남게 된다는 것이다. 2009년 ECMAScript 5(ES5)가 등장하기 전까지는 그랬다. ES5는 언어에 새로운 기능을 추가했고 기존에 있던 몇 가지 기능들을 수정했다. 이전 코드가 계속 작동되도록 하기 위해 이러한 수정 내용은 기본적으로 해제되어 있다. "use strict"라는 특별한 지시어로 명시적으로 활성화해야 한다. "use strict" 지시어는 문자열 형태이다: ..
자바스크립트에서 자주 사용하는 고차 함수(forEach, filter, sort, map, reduce) - 2 일반적으로 반복문을 사용하려면 반복문을 어떻게 실행할지에 초점을 맞춰서 구현하게 된다. 따라서 반복문의 시작점 및 초기값인 counter, 반복문 멈추는 기준이 되는 exit condition과 끝나는 조건에 도달할 때까지 counter를 증가시키는 iterator를 가지게 된다. 즉, 반복문을 구현하려면 이 세 가지가 모두 필요하다. 이와 반대로 고차 함수를 이용한 반복문은 어떻게 실행할지 보다는 무엇을 할지에 초점을 맞춘다. 각각의 반복을 구체적으로 어떻게 진행할지를 명시하기보다는 원하는 결과를 얻기 위한 과정만을 제시한다. 이 둘의 차이점이 더 와 닿을 수 있도록 앞으로의 예제에서 일반적인 반복문(for, while)과 고차 함수를 이용한 반복문을 둘 다 보여줄 것이다. 그럼 이제, 알고 있으면 편..
자바스크립트에서 자주 사용하는 고차 함수(forEach, filter, sort, map, reduce) - 1 자바스크립트를 함수형 프로그래밍에 알맞은 언어로 만들어주는 특성이 바로 자바스크립트가 고차 함수 개념을 받아들인 다는 것이다. 따라서 고차 함수가 무엇인지 소개하고 앞으로 개발하면서 자주 사용하게 될 고차 함수들의 사용법을 설명하려고 한다. 고차 함수(Higher-Order Function)란? 고차 함수는 함수를 인자로 받거나 함수를 반환하는 함수를 말한다. 이때 다른 함수(caller)의 인자(argument)로 전달되는 함수를 콜백 함수(callback function)라고 한다. 콜백 함수를 전달받은 함수는 이 콜백 함수를 호출(invoke)할 수 있다. 조건에 따라서 콜백 함수의 실행 여부를 결정할 수 있고 여러 번 실행할 수도 있다. // 다른 함수를 인자로 받는 경우 function doub..
JavaScript란 이름은 어떻게 지어졌을까? "JavaScript? Java랑 관련 있나?" JavaScript를 처음 들어본 사람이라면 한 번쯤 생각해봤을 질문이다. 하지만 이것은 큰 오해다. 자바스크립트 Brendan Eich가 처음 언어를 만들었을 때는 이름을 Mocha라고 지었다. 추후에 Netscape사 안에서 사용될 때는 LiveScript라는 이름을 가지게 되었다. 하지만 공식적으로 언어를 알리고 이름을 정할 때는 JavaScript라는 이름이 선택되었다. 왜 자바스크립트라는 이름을 사용했을까? JavaScript라는 이름이 사용된 이유는 언어가 Java 개발자들을 타깃으로 하고 있었고 당시에 가벼운 프로그램을 지칭하기 위한 단어로 script가 많이 사용되었기 때문이다. 그리고 이 가벼운 "script"가 당시에 생긴 지 얼마 안 된..