분류 전체보기 103

Static Modifier(스태틱 제어자)란? 개념 및 Typescript 예제

static? 타입스크립트의 static 제어자: 클래스의 구성요소에 선언에 사용되는 제어자이다. static으로 선언된 property(특성)이나 behavior(메서드)는 클래스에 직접 속하게 되며, 인스턴스가 아닌 클래스를 통해 호출된다. 사전적 의미: 정적인, 움직임이 없는 일반적인 클래스의 구성요소는 인스턴스가 생성될 때 전부 초기화되며 복제된다. 하지만 static 요소는 클래스가 메모리에 로드되는 시점에 단 한 번의 생성 및 초기화가 이루어진다. 즉 직접 호출하여 값을 바꾸지 않는 이상, 코드를 한번 실행하면 고정되어 새롭게 초기화되거나 복제되지 않는다. static 요소 호출하기 className.호출되는객체 타입스크립트예제 1. static으로 선언된 특성과 메서드는 클래스를 통해 호출이..

WebRTC 연결에 대한 개괄적 설명: 웹 브라우저간 실시간 통신API를 공부하고 줌, 디스코드와 같은 프로그램을 만들어보자

WebRTC의 개념 및 용어에 대한 간단한 설명글입니다. WebRTC란? Web Real-Time Communication (웹 실시간 커뮤니케이션)의 약어이다. 이름 그대로 웹을 통해 실시간으로 정보교환을 가능케 하는 코드가 공개된 무료 (오픈소스) 기술이다. 웹 브라우저끼리, 혹은 웹 브라우저와 서버 간 플러그인 없이 통신할 수 있게 해주는 peer-to peer 앱 프로그래밍 인터페이스(API)를 제공한다. *데이터는 오디오, 비디오 및 기타 데이터를 포함하며 webRTC는 통화나 데이터 공유에 사용된다. Peer - to -Peer (P2P) 통신이란? peer: 동료, 혹은 비슷한 개체들을 뜻하는 단어이다. WebRTC의 peer는 "브라우저"를 의미한다. Peer to Peer 통신: 서버등의..

Access Modifier(접근제어자)란? +@ 게터 와 세터, 타입스크립트 예제. (public, private, protected)

Modifier(제어자)? Modify의 사전적 의미: 바꾸다, 완하 하다, 한정하다. 프로그래밍 언어의 Modifier: 클래스구성요소의 기능 및 접근범위를 설정하는 문법 요소. Access Modifier(접근제어자) 클래스 구성요소에 대한 접근범위를 한정하는 데 사용되는 제어자이다. 타입스크립트는 public, private, protected 이렇게 세 개의 접근제어자를 제공한다. 이 접근제어자들은 타입스크립트의 고유 구성요소로, 자바스크립트에는 포함되지 않는다. public: 어디에서나 접근 가능하다. protected: 선언된 클래스와 그 클래스를 상속받는 클래스내부에서만 접근할 수 있다. private: 선언된 클래스 내부에서만 접근이 가능하다 접근 제어자/ 접근위치 클래스 내부 서브 클래스..

Typescript "Type" 키워드 사용하기

Type(타입 키워드)? 프로그래머의 개별적 의도에 맞는 타입을 선언하는 기능을 제공하는 문법이다. type typeName = 타입형태 왜 필요한가? 타입스크립트의 "타입체크"는 "프로그래머의 의도"에 맞는 타입의 값만을 집어넣게 해 주는 강력한 기능이다. 타입스크립트의 존재 이유 그 자체라고 할 수 있다. 하지만 타입스크립트가 boolean, number, string 등등의 "기본타입"만을 체크해 준다면 자바스크립트의 실행과정에 발생하는 괴상한 오작동은 막을 수 있지만, 개발자에게 자료의 구조 및 요구사항에 대한 힌트를 주어 실질적으로 개발을 돕기엔 부족하다. 그래서 타입스크립트는 임의의 "타입"을 직접 정의할 수 있게 해 주고, 그러한 커스텀 타입에 대한 타입체크 기능도 제공하고 있다. Type키..

다형성을 구현하는방법: 호출 시그니쳐와 함수오버로딩 (타입스크립트 예제). polymorphism, call signature, function overloading, typescript

4줄 요약) 1. 다형성은 "객체지향"의 특성 중 하나로, 한 가지 형태로 여러 가지 기능을 수행하는 특성을 뜻한다. 2. 호출 시그니쳐는 함수가 받아들이는 인자의 타입 및 형태이다. 3. 함수 오버로딩은 한개의 함수가 여러 개의 호출 시그니쳐 및 그에 대응되는 실행기능을 갖는 것을 말한다. 4. 하나의 이름을 갖는 함수가 여러 호출시그니처를 가짐으로써 "다형성" 특성이 구현된다. prototype(프로토타입)과 객체지향 프로그래밍: Typescript Decorator를 위한 Javascript(자바스크립트) 사전 Prototype?(프로토타입)의 의미 사전적 의미: proto: 원래의, 원시적인 + type: 형태, 유형, 카테고리 prototype: 원래의 형태, 원형, 임시 모델 Prototype..

자바스크립트 ES6 arrow function(화살표 함수) 개념 및 타입스크립트 예제 +@ python lambda

ES6 시리즈 1. const와 let의 등장: "var 쓰지 마세요" https://batcave.tistory.com/39 Javascript 변수선언 키워드 "var"를 사용하지 않는 이유 var? variable(변수)의 준말. JavaScript(자바스크립트 이하 JS)에서 변수를 선언할 때 사용하는 keyword이다. 왜 사용하지 않는가? var은 다음과 같은 3가지 이유 때문에 현재 사용되지 않고있다. 1. function-s batcave.tistory.com 2. arrow function: 화살표 함수 arrow function(fat arrow): 개념 화살표 함수는 "function": 함수지정 키워드를 사용하지 않고 변수에 함수를 저장할 수 있는 "익명함수" 기능을 제공하는 독특한..

Decorator(데코레이터) 와 Meta-programming(메타프로그래밍): Typescript(타입스크립트) 예제

Decorator(데코레이터?) 동사 Decorate의 사전적 정의: 장식하다, 모양내다, 꾸미다 데코레이터: 장식, 장식하는 사람 타입스크립트의 데코레이터: 클래스와 클래스 멤버들의 기능을 추가 및 번경하는 "함수". 데코레이터의 특징 1. class를 수정하거나 subclass를 생성하지 않고도 기능을 변형할 수 있다. 2. 메타프로그래밍적 요소이다. 3. run-time에 실행된다. 사실 위의 특징 세 개는 모두 "메타프로그래밍"으로 요약된다. 메타프로그래밍: 사람이 직접 코드를 번경하는 것이 아니라 프로그램이 자기 자신 혹은 다른 컴퓨터 프로그램을 데이터로 취급하며 프로그램을 작성·수정하는 것을 말한다 데코레이터에 의해 클래스기능이 변형되는 시점은 run-time이다. 프로그램이 실행되는 동안에 ..

prototype(프로토타입)과 객체지향 프로그래밍: Typescript Decorator를 위한 Javascript(자바스크립트) 사전지식

Prototype?(프로토타입)의 의미 사전적 의미: proto: 원래의, 원시적인 + type: 형태, 유형, 카테고리 prototype: 원래의 형태, 원형, 임시 모델 Prototype in javascript(자바스크립트, 이하 JS): 객체의 특징, 행동에 대한 정보를 포함하고 있는 Object(오브젝트)이다. class를 이용하여 객체지향을 구현하는 다른 프로그래밍 언어와는 차별화되는 JS만의 독특한 요소이다. 원시타입(number, string, boolean, undefined, null)을 제외한 모든 JS의 요소들은 프로토타입을 가지고 있다. array(배열), object(오브젝트), fuction(함수) 같은 컴포넌트들은 이미 정의되어 있는 프로토타입을 청사진으로 삼아 생성된다. 내..

Generic(제네릭)이란? 개념 및 Typescript 예제. "any 쓰지마세요"

Generic? 사전적 의미: 일반적인, 추상적인, 포괄적인 반의어) 구체적 (specific) Generic in TypeScirpt(타입스크립트, 이하 TS) TS의 "유연한 타입 제약"을 가능케하는 문법. 하나의 함수, 또는 클래스 코드가 여러 타입의 객체를 받을 수 있게. 해준다. 그래서 코드의 간결함과 가독성, 재사용성등을 향상 시킬수 있다. TS는 타입에 제약조건을 걸어 오류가없고 깔끔한 JS코드를 생성하기위해 만들어진 언어이다. 하지만 여러타입의 객체에대해 작업을 수행하는 코드를 작성할때 타입별로 비슷한내용의 코드를 반복해서 작성해야 하는 번거로움이 있다. Generic을 사용하면 이런 수고로움을 덜 수있다. Generic은 JS에는 존재하지 않는 TS만의 구성요소이다. Genric 문법 T..

Javascript 변수선언 키워드 "var"를 사용하지 않는 이유

var? variable(변수)의 준말. JavaScript(자바스크립트 이하 JS)에서 변수를 선언할 때 사용하는 keyword이다. 왜 사용하지 않는가? var은 다음과 같은 3가지 이유 때문에 현재 사용되지 않고있다. 1. function-scope(함수범위)라는 다소 난해한 범위를 가지고 있다. 2. var로 변수를 선언하면, 변수가 선언된 block 내부에서 제일 위쪽으로 이동한다. 3. block-scope(블록범위)라는 표준적인 범위를 가진 변수선언 키워드가 도입되었다. 1. var의 난해한 범위 프로그램의 모든 곳에서 사용할 수 있는 변수를 global-variable(전역변수), 특정 함수나 {} 블록 내부에서 사용할 수 있는 변수를 local-variable(지역변수)라고 부른다. va..