분류 전체보기(52)
-
String
'use strict' let string = 'node.js 올인원 패키지'; let isStartWith = string.startsWith('n'); //let isIncludes = string.includes('올인원'); let isIncludes = string.includes(','); let isEndWith = string.endsWith('지'); const checkIfContains = () => { if (isStartWith && isIncludes && isEndWith) { return true } else { return false } } const ret = checkIfContains(); console.log(ret); 자바스크립트는 기본적으로 string에 대해 유..
2020.03.05 -
Templete String
'use strict' const details = `자세한 내용`; let str = `node.js`; str += `올인원 패키지${details}` const int = 1; str += `${str}의 값은 ${int}` console.log`입력` console.log(str); ${} 형태로 쓰는 templete string은 ES6이후 지원되는 문법으로, 위처럼 변수를 다른 연산자 없이 바로 문자열과 함께 사용하거나 함수의 자리에 사용할 수 있다. 기존의 방식에 비해 코드길이가 짧아지고 직관적으로 알아보기가 좋다.
2020.03.05 -
Some & Every
'use strict' //some - true //const arr = [1, 2, 0, -1, -2]; //some - false const some = [1,2,0]; const result = some.some(key => key key > 1); console.log(res); //some -> 하나라도 조건에 해당하는게 있으면 true 반환 //every -> 모든 요소가 조건을 통과해야 true 반환 ES6 기준 Some과 Every는 배열 자..
2020.03.05 -
변수와 스코프
자바스크립트에서 변수를 선언하는 방식은 크게 var, let, const로 나뉜다. 현재는 ES6 이후의 문법이 크게 대중화 되어있고, var 보다는 let과 const를 사용하길 권장한다. 그 이유는 변수 스코프의 차이 및 선언, 호이스팅과 관련되어 있다. 작고 간단한 어플리케이션의 코드에서 var는 편리하다. 그러나 조금만 코드가 길어지고 어플리케이션이 복잡해지면, 암묵적 생략이나 함수 레벨 스코프를 이용하는 것은 오히려 독이 된다. let과 const는 기본적으로 블록 레벨 스코프로 다뤄진다. 해당 변수가 선언된 코드블록 내에서만 유효하며 외부에서는 참조할 수 없고, 블록 내에서 지역변수로 다뤄진다. 호이스팅의 경우, 인터프리터 언어인 자바스크립트에서 선언문이 호출보다 뒤에 나오더라도 스코프의 선두..
2020.02.28 -
관찰자 패턴과 EventEmitter
관찰자 패턴은 상태 변화가 일어날 때 관찰자(또는 Listner)에게 알릴 수 있는 객체(Subject)를 정의하는 것. 전통적인 연속 전달 스타일 콜백은 일반적으로 그 결과를 하나의 Listner인 콜백에만 전파하지만 관찰자 패턴은 Subject가 실제로 여러 관찰자(Observer)들에게 알릴 수 있다는 것이 큰 차이다. 순수 자바스크립트는 동기적으로 작동하는데, 이 의미는 한 번에 하나의 프로세스만 실행시킨다는 것이다. 따라서 이벤트 루프를 활용하여 비동기적으로 작용하는 것은 정확히는 Node.js의 libuv라는 라이브러리를 통해 구현된다. 대표적인 비동기작업인 setTimeout이나 I/O 활동, HTTP 요청등이 libuv를 통해 스케쥴링되고 쓰레드 풀이나 커널에 인계한 콜백 작업을 실행하는 ..
2020.02.20 -
프로세스 구조 Process
Process 구조 > STACK, HEAP, DATA, CODE 로 크게 나뉘어져있다 CODE : 프로그래밍 코드 텍스트가 들어가는 메모리 영역(컴파일 된 결과물) DATA: 변수의 메모리 영역이 저장되는 공간 (코드에서 함수 선언시에 변수가 가리키는 메모리 공간), 전역변수, 초기화 된 데이터 DATA 는 BSS와 DATA로 나뉜다. BSS segment : 초기화 되지 않은 전역변수 DATA segment: 초기 값이 있는 전역변수 STACK: 함수 내 지역변수(재선언 및 재할당이 되는)혹은 인자의 메모리 주소가 위치하는 공간, Return Address값을 STACK에 저장한다. 임시 데이터. (stack frame) 데이터가 STACK에 추가 될수록 STACK의 주소값은 점점 작아진다. HEAP..
2020.02.19