일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 책알남
- 프로그래밍언어
- 다독
- 프로그래머스 알고리즘 공부
- algorithmtraining
- 돈
- algorithmTest
- 서평
- 책을알려주는남자
- 알고리즘공부
- 경제
- 재테크
- 알고리즘 공부
- 자바스크립트
- JavaScript
- 투자
- 독후감
- Java
- 알고리즘트레이닝
- algorithmStudy
- C++
- 자바
- 화장품
- 독서
- 채권
- 주식
- 지혜를가진흑곰
- C
- 백준알고리즘
- 성분
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터)/자바스크립트(JavaScript) (39)
탁월함은 어떻게 나오는가?

자바스크립트의 함수는 가장 중요한 핵심 개념이다. 스코프, 실행 컨텍스트, 클로저, 생성자 함수에 의한 객체 생성, 메서드, this, 프로토타입, 모듈화 등이 모두 함수와 깊은 관련이 있다. 함수 정의 방법 함수는 함수 정의(function definition)를 통해 생성한다. 자바스크립트의 함수는 다양한 방법으로 정의할 수 있다. 밑에 방식을 제외하고도 다양한 방법이 있지만, 대표적으로 사용하는 2가지이다. 1 2 3 4 // 함수 선언문으로 함수 정의 function add(x, y) { return x + y; } cs 1 2 3 4 5 6 7 8 // 화살표 함수 정의 const add = (x, y) => { return x + y; } // 화살표 함수 간결한 방식 정의 const add ..
import, export를 사용하는 이유 개발을 하는 애플리케이션의 크기가 커지면 언젠가는 파일을 여러 개로 분리해야 하는 시점이 생긴다. 이때 분리된 파일 각각을 '모듈(module)'이라고 부르는데, 모듈은 대개 클래스 하나 혹은 특정한 목적을 가진 복수의 함수로 구성된 라이브러리 하나로 구성된다. 곧 모듈들을 나누는것을 모듈화라고 부르며, 소프트웨어를 각 기능별로 나누는 것을 말한다. 그리고 각각의 기능별로 나눠진 모듈화의 결과를 모듈이라고 하며 서브루틴, 소프트웨어 내의 프로그램 또는 작업 단위 등의 의미로 사용된다. 여기서 좋은 모듈화는 목적에 맞는 기능만으로 모듈을 나누는 것이다. 각각의 모듈은 주어진 기능만을 독립적으로 수행하며 다른 모듈과 적게 연관되야 한다. 즉, 독립성이 높은 모듈일수..
자바스크립트 객체(Object)란? 자바스크립트는 객체(object) 기반의 스크립트 언어이며 자바스크립트를 이루고 있는 거의 "모든 것"이 객체이다. 메모리(실제 저장공간)에 할당된 것으로 프로그래밍에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있다. 자바스크립트에서는 원시타입(Primitives)을 제외한 나머지 값들(함수, 배열, 정규표현식 등)은 모두 객체가 된다. 프로그래밍 언어는 변수를 이용해 객 체에 접근하므로 객체와 변수라는 용어를 함께 사용된다. 그러나 메모리(실제 저장공간)가 할당되기 전까지 객체는 존재하지 않는다. 자바스크립트의 객체는 키(key)과 값(value)으로 구성된 프로퍼티(Property)들의 집합니다. ..

변수란 ? 컴퓨터 프로그래밍에서 변수(variable) 또는 스칼라(scalar)는 아직 알려지지 않거나 어느 정도까지만 알려져 있는 양이나 정보에 대한 상징적인 이름이다. 컴퓨터 소스코드에서의 변수 이름은 데이터 저장 위치와 그 안의 내용물과 관련되어 있으며 이러한 것들은 프로그램 실행 도중에 변경될 수 있다. 컴퓨터 환경에서 변수는 반복적인 과정 안에서 이용할 수도 있다. 이를테면 한 장소의 값을 할당한 뒤 어느 곳에서 사용한 다음 새로운 값으로 다시 할당하고 같은 방법으로 다시 사용할 수도 있다. 컴파일러는 변수의 상징적인 이름을 데이터의 실제 위치로 치환해야 한다. 변수 값, 형, 위치는 일반적으로 유지되는 반면 위치에 저장되어 있는 데이터는 프로그램 실행 도중 변경될 수 있다. - 위키 백과 -..

작업을 진행하다보면 태그, 따옴표, 줄바꿈, 쌍따옴표를 제거할 필요가 생길 때가 있다. 밑에 replace 를 사용하면 편리하다. 1 2 3 4 .replace(/(]+)>)/gi, "") // 모든 태그 .replace(/"/g, "") // 따옴표 .replace(/\"n/, "") // 줄바꿈 .replace(/&/g, "") // 쌍따옴표 cs
자바스크립트 reduce() MDN 정의 배열의 각 요소에 대해 주어진 리듀서(reducer) 함수를 실행하고, 하나의 결과값을 반환한다. 리듀서 함수는 4개의 인자를 가진다. 1. 누산기 (acc) 2. 현재 값 (cur) 3. 현재 인덱스 (idx) 4. 원본 배열 (src) 1-1) 1행에서 reduce()메서드의 콜백 함수에 두 개의 인수를 전달 1-2) 두 개의 인수는 반환되는 항목(collectedValues라고 부른다.)과 개별 항목이다. 1-3) 반환값은 콜백 함수가 반환하는 값을 누적한 것으로, reduce() 메서드가 특별한 이유다. 1-4) reduce() 메서드의 반환값은 정수뿐 아니라 세트 같은 컬렉션도 될 수 있다. 2-1) 7행의 reduce() 메서드는 두 가지 값, 즉 콜백..
1 2 3 4 5 const num = Number.EPSILON; console.log(num); // 2.220446049250313e-16 console.log(typeof num); // number cs Number.EPSILON은 1에 더했을 때 1보다 큰 수를 만들어 낼 수 있는 가장 작은 양수이다. Number.EPSILON보다 작은 수를 1에 더해도, 그 수는 1과 같다. 0이 아닌 양수를 1에 더했는데도 1이라는 사실은 터무니 없어보인다. 그 이유는 IEEE 754를 포함한 모든 고정 크기 부동소수점 시스템은 전부 이런 이상한 점을 가지고 있다. 숫자 표현의 크기를 고정함으로써 생기는 장단점이다. 1 2 3 const num2 = Number.MAX_SAFE_INTEGER; consol..
클로저(closure)는 자바스크립트를 사용하다보면 자주 접하게되는 용어이다. 하지만, 클로저는 자바스크립트 고유의 개념은 아니다. 함수를 일급 객체로 취급하는 함수형 프로그래밍 언어에서 사용되는 중요한 특성이다. MDN에서 정의하는 클로저를 알아보자. 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다. 중요한점은 어휘적 범위(Lexical scoping)이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 const num = 1; function outerFunction() { const num = 10; function innerFunction() { console...