목록개발 (301)
원시자료형과 참조자료형은 자료형에 대한 분류 기준이다. 둘은 비슷한 듯하나, 각기 다른 특징을 가지고 있다. 원시자료형 원시자료형은 객체가 아니며, 메소드를 가지지 않는 6가지 타입이다. string / number / boolean(true & false) / undefined / bigint(너무 큰 수) / symbol(유일 식별자) / (null) 원시자료형의 특징은 변수 하나에 각 하나의 정보만 갖게 되는데(재할당하지 않는 이상), 그 이유는 옛 컴퓨터 메모리의 제한으로 여러가지 자료를 담기 힘들었기 때문이다. (때문에, '원시'자료형) 참조자료형 참조자료형은 배열과 객체, 함수가 대표적인데, 특징을 하나 가진다. 변수는 그 값 자체를 저장하는 것이 아니라, 그 값이 있는 곳의 주솟값을 저장하는..
Class-and-OOP Class class 란 물건을 만드는 설명서와 같은 역할을 한다. ex) class 붕어빵 { 만드는 방법 } => new 붕어빵() ex) class Date { getFullYear(){ }, getMonth(){ }... } => new Date 이렇게 만들어진 new Date 는 내장객체로써 아래와 같이 활용할 수 있다. 객체지향프로그래밍(OOP) = 객체를 활용하여 프로그래밍하는 것을 의미 각각의 함수로 구분하여 활용할 수도 있지만, 함수의 수가 많아지면 관리하기 어렵다는 측면이 있다. 따라서, 관련성이 있는 함수의 경우는 class 객체로 한데 묶어 관리해주는 것이 용이하다. Class 예시 class 를 활용한 속성값이 다른 객체 둘 생성하기 // class 에서는..
Set 은 유일한 값을 저장할 수 있는 객체다. 배열의 형태를 갖는 객체 데이터로, 형태는 아래와 같다. const newSet = new Set() typeof newSet // 'object' Array.isArray(newSet) // false newSet // Set(0) { __proto__: { ...중략 }} set 은 중복 데이터 없이 고유한 값만 저장이 가능하다. // 예시 const newSet = new Set([1,2,3,2,2]) console.log(newSet) // Set(3) { // 1, // 2, // 3, __proto__: {}} 2를 중복으로 포함하고 있는 배열을 Set 객체에 집어넣게 되면, Set은 위와 같이 중복된 값 없이 한번씩만 저장하게 된다. 그리고 아..
This javascript 에서 함수의 this 키워드는 다른 언어들과 비교하여 조금 다르게 동작하며, 대부분의 경우 this의 값은 함수를 호출하는 방법에 의해 결정된다고 한다. https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/this this - JavaScript | MDN JavaScript에서 함수의 this 키워드는 다른 언어와 조금 다르게 동작합니다. 또한 엄격 모드와 비엄격 모드에서도 일부 차이가 있습니다. developer.mozilla.org 여기서 this가 함수를 호출하는 방법에 의해 결정된다는 말에 집중해보자. // 예시 객체 let ex = { is : "this!", test1 : functio..
Git git은 '분산 버전관리 시스템'으로 파일의 변경사항을 추적(파악)하고, 여러 명의 개발자들 간 작업을 조율하는 것에 도움을 준다. 쉬운 말로는 여러 명이서 하나의 프로젝트를 작업할 때, 소스 코드를 관리하기 편하게 해주는 것이 바로 git. 분산 버전관리 시스템 분산 버전관리 시스템은 다음의 예시를 들면 편하다. 내가 날마다 작업한 소스 코드를 저장한다고 한다면, 한 파일에 작업한 내용이 모두 덮어지는 것이 아니라, 엊그제 / 어제 / 오늘이 모두 각기 작업한 내용이 저장된다는 것이다. 이는 작업의 변경 사항을 보기 편할 뿐더러 백업에도 유용하다. 자주 사용하는 git 명령어 git init : 깃 명령어 사용 전 필수로 활용해줘야 하는데 명령어. 깃 저장소를 초기화한다는 의미다. git hel..
지난 nestJS 포스팅에서 OOP와 FP에 대해 잠깐 언급한 적 있다. 이름으로 보아 대략적으로 무슨 의미인지는 알 것 같기는 하나, 알 것 같은 것과 아는 것은 다르기에 포스팅을 해보려 한다. OOP (객체지향 프로그래밍) 객체지향 프로그래밍은, 그 말마따나 객체를 중심으로 하여 객체 간의 상호 작용을 통해 로직을 구성하는 방법을 의미한다. 여기서 객체란 실제 사물을 프로그래밍에서 모델링하는 것으로 각각의 속성과 메서드를 갖는다. * 속성 : 상태, 성질, 데이터 // 메서드 : 객체의 기능, 데이터를 조작하기 위한 연산을 의미한다. 사실 무슨 말인지 모르겠지만, 아래와 같은 느낌이 아닐까 싶다. let 개 = { 속성 : { 상태 : 건강함, 성질 : 사나움, 데이터 : 털이 김 }, 메서드 : {..
https://docs.nestjs.com/ 미래의 나에게 nestJS 설치 npx @nestjs/cli new 폴더이름 graphql 설치 yarn add @nestjs/graphql @nestjs/apollo graphql apollo-server-express 라이브러리 & 프레임워크 라이브러리 - 다른 사람들이 만들어 놓은 기능 (작은 기능) 프레임워크 - 라이브러리들이 모여있는 도구 모음 언어별 대표적 프레임 워크 (각 프레임워크는 의존성 주입(DI)을 지원한다.) 자바 : 스프링 파이썬 : 장고 자바스크립트 : NestJS NestJS nest.js 는 효율적이고 확장 가능한 node.js 서버를 구축하기 위한 프레임워크다. 자바스크립트와 타입스크립트 모두 호환이 가능하며, OOP(객체 지향프..
TypeScript Typescript 는 자바스크립트를 기반으로 '정적 타입 문법'을 추가한 프로그래밍 언어이다. 정적 타입 문법 (정적 타입 언어, 컴파일 언어) 정적 타입 문법이란, 변수를 선언할 때 명시적으로 변수의 타입(ex, String, Number,...)을 명시적으로 선언하며 그에 맞는 값을 변수에 할당하는 것을 의미한다. * 컴파일 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해 주어야 한다. 이 변환 과정을 우리는 컴파일(complile) 이라고 부른다. ** 그런 의미에서 자바스크립트는 변수를 할당할 때, '', {}, [], 등과 같이 각각 기호를 활용해 타입을 명시해주기에 정적 타입 문법이 아닐까 생각할 수 있지만 그렇지 않다. let test; co..