javascript(10)
-
Node.js process
✔️Process Node.js 는 운영체제에도 접근할 수 있다. 터미널에서 node 를 입력하면 노드 프로세스가 실행된다. process.version : 설치된 노드의 버전 process.arch : 프로세서 아키텍처 정보 process.platform : 운영체제 플랫폼 정보. linux나 darwin, freebsd 등의 값일 수 있음 process.pid : 현재 프로세스의 아이디. 프로세스를 여러 개 가질 때 구분할 수 있음 process.uptime() : 프로세스가 시작된 후 흐른 시간, 초 단위, 프로세스 시작 후 몇 초 후에 프로세스를 종료한다거나 하는 일이 가능한 듯 process.execPath : 노드의 경로 C:\Program Files\nodejs\node.exe process..
2023.05.17 -
ES6 Javascript Object
✔️ES6에서 추가된 객체 리터럴 문법들 이전 포스팅에서 자바스크립트 객체에 대해 간단히 알아봤다. ES6에서는 객체 리터럴을 간편하게 작성할 수 있는 문법들이 추가되었다. 이에 대해 알아보고자 한다. 📌프로퍼티 축약 표현 앞선 포스팅에서 자바스크립트의 객체는 0개 이상의 프로퍼티의 집합이라고 소개했다. 또한 객체의 프로퍼티 값으로 자바스크립트의 모든 값이 가능하며 심지어 함수 또한 객체이므로 프로퍼티의 value로 사용할 수 있다고 하였다. 이번에는 축약 표현에 대해서 알아보자 프로퍼티 value에 당연히 변수 값 또한 가능하다. 프로퍼티의 key의 이름과 value로 사용하는 변수의 이름이 동일하면 key를 생략할 수 있다. let x = 1, y = 2; cont obj = {x, y}; conso..
2023.05.16 -
JavaScript 객체
✔️객체 자바스크립트에서는 원시 값을 제외한 거의 모든 것이 객체다. 자바스크립트에서 객체는 0개 이상의 프로퍼티의 집합이며, 프로퍼티는 key와 value로 구성되어 있다. const person = { name: 'mingyo', age: 'secret', }; 자바스크립트에서 사용하는 모든 값이 프로퍼티의 value가 될 수 있다. 자바스크립트에서 함수 또한 객체(일급 객체)기 때문에 value로 사용할 수 있다. 함수가 프로퍼티 값으로 사용됐을 때 이 함수를 메서드라고 부른다. 결론적으로 객체는 0개 이상의 프로퍼티 집합이고, 프로퍼티의 값으로 함수도 사용할 수 있기 때문에 객체는 프로퍼티와 메서드의 집합으로 집합체, 이루어진 복합적인 자료구조라고 할 수 있다. 📌객체..
2023.05.16 -
Optional chaining & nullish coalescing(옵셔널 체이닝과 널 병합 연산자)
✔️옵셔널 체이닝과 널 병합 연산자 이전 포스팅에서는 단축 평가(short-circuit evaluation)에 대해서 살펴보았다. 단축 평가를 이용해 논리 연산의 결과를 결정 짓는 피연산자를 그대로 반환하는 특징을 이용해 if 문을 대체하거나 혹은 객체가 null 혹은 undefined인 경우에 발생할 수 있는 널 참조 에러를 막기도 하였다. 📌옵셔널 체이닝(?.) 옵셔널 체이닝 연산자는 ES11(ECMAScript2020)에서 도입되었다. 옵셔널 체이닝 연산자를 통해 참조하려는 객체가 null인지 혹은 undefined인지 확인할 수 있다. 만약 참조하려는 객체가 null 또는 undefined라면 undefined를 반환하고, 그렇지 않으면 우항의 프로퍼티 참조를 이어간다. let elem = nu..
2023.05.16 -
Short-Circuit Evaluation(단축 평가)
✔️단축 평가 쉽게 이야기하면 앞에만 보고도 판단할 수 있으면 굳이 뒤까지 보지 않겠다는 의미이다. 이 개념은 JavaScript에만 존재하는 것은 아니다. 용어가 익숙하지 않아도 예시만 보면 경험을 통해서 다들 이해하는 것이다. true || false // -> true true || true // -> true false || false // -> false OR 연산은 둘 중 하나만 true가 되면 true 평가된다. 즉 앞에 내용이 true면 뒷 내용은 볼 필요도 없이 true로 단정지으면 된다. 실제로 앞이 true면 뒷 내용은 보지도 않고 true로 결론내린다. true && true // -> true true && false // -> false false && false // -> fa..
2023.05.16 -
Map, Set, WeakMap, WeakSet
✔️Map 일반 객체 리터럴과 비슷함 보통 key-value 구조의 객체를 Map이라고 함. JavaScript에서의 Map이 독특한 점은 객체를 key 사용할 수 있으며, 심지어 객체를 value로 사용할 수도 있다. 일반 객체 리터럴에서 우리가 사용할 때 key는 무조건 String 혹은 Symbol만 사용할 수 있었음. 🌟객체를 key로 사용할 때의 주의점 const m = new Map(); m.set('a', 'b'); m.set('c', 'd'); // 이러면 m 은 {'a' => 'b'}, {'c' => 'd'} 이렇게 나오겠지 // get 메서드로 key의 value를 가져올 ..
2023.05.16