분류 전체보기 113

타입스크립트란, 환경 설정 및 ts 파일 실행하기

타입스크립트 기초 타입스크립트란타입스크림트는 왜 필요한가- js  코드는 너무 지저분함- 코드의 스케일이 커지면서 코드 관리 어려움 ts 사용하면 좋은 점- js 기반보다 버그를 줄일 수 있음- 유지보수가 쉽다- 강력한 높은 퀄리티의 코드 생산 가능 타입스크립트 = 자바스크립트 + 타입체크- 타입스크립트 환경에서 js 코딩하면 동작 O    - 반대는 X- 데이터 타입 표기하면 좋은점 : 컴파일 타임 시 오류 체크 ts ->(컴파일) js(컴파일 번역) -> 웹 브라우저(해석 O)- 컴파일 : 언어를 변환(해석)  환경설정- 타입스크립트를 위해 node js 설치- npm(node js의 앱스토어) 을 이용해 ts 설치npm i -g typescript위 명령어 설치로 ts 언어를 js 언어로 컴파일 가..

카테고리 없음 2024.10.28

오버로딩, 오버라이딩, 인터페이스, 람다

다형성: 다른 그림 찾기 같이 멀리서 보면 같지만 자세히 보면 다름: 함수 이름이 같더라도 전달 인자의 타입이나 개수에 따라 구분: 객체 지향에서는 대표적으로 오버로딩과 오버라이딩 기법이 있음--> 면접 단골 질문~~  오버로딩: 과적하다, 적재하다: 겉모습은 똑같지만 내용이 다른 경우: 이름이 같은 함수일지라도 전달인자 타입이나 개수가 다른 경우예) 컨테이너 겉모습은 다 같지만, 내용은 다 다름예) 스타크래프드의 오버로드 유닛의 예 int Plus (int a, int b){ return a + b;}char Plus (char a, char b){ return a + b;}함수 사용 시 매개변수의 타입과 개수에 따라 알아서 대응하는 함수를 사용해줌 오버라이딩: 위로 올라탄다, 엎어친다: 기본의 것을 ..

객체 지향, 추상화, 캡슐화, 클래스, 생성자, 상속성

객체 지향에 대한 이해 객체 지향? 이 세상에 모든 사물들을 프로그래밍화 시키겠다! - 객체 : Object , '사물'을 나타내는 추상적인 개념 - 지향 : Oriented, ~을 향한다 예) 레고  구조적 프로그래밍 vs 객체 지향 프로그래밍 - 구조적 프로그래밍 : 순차적, 구조적, 폭포수 방식   - 기능적인 기본 단위 : 함수   - 건축같은 순차적 작업에 적합   - 하지만, 요구사항들이 계속해서 바뀌는 현대에 맞지 않음!  - 객체 지향 프로그래밍 : 유연   - 기능 단위 : 객체   - 결합과 분리가 쉬움 (조립식 건물과 비슷)   추상화추상 : 대상에서 특징만 뽑아낸 것예) 개 (추상) : 진돗개, 삽살개, 치와와 ...- 플라톤의 이데아와 일맥 상통   - 개를 본게 중요 / 어떤 개..

함수 포인터, 구조체, 열거형, 동적 메모리 할당

함수 포인터 - 함수명 아에 * 붙여주기 - 함수 포인터도 포인터이므로 주솟값 저장 사용 이유 - 동적 바인딩 : 런타임 시점에 메모리 크기와 위치 결정 - vsCode의 extention : 플러그인 방식 - 동적 바인딩 + 플러그인 방식 => 프로그램의 유연한 확장성   구조체: 하나 이상의 서로 다른 종류의 변수들을 묶어서 새로운 '데이터 타입'을 정의하는 것- 추상적이다 = 나만 아는 타입임 사용 이유 - 연관된 변수들을 하나로 묶어 관리해 데이터 관리에 유용 - 데이터 양(변수의 개수)이 많아지면 구조체가 유리 예)struct student { char name[10]; int age; int height;};struct : 구조체라는 데이터 타입을 의미student : 내가 만든 구..

연산자, 조건문, 반복문, 함수, 변수의 범위, 배열, 포인터

연산자 : 정적인 데이터를 유기적으로 행동하게 해 새로운 가치를 창출해 내는 것 - 산술연산자, 대입 연산자, 증감 연산자, 관계 연산자, 논리 연산자 분기문 (조건문) - if문 , if-else문 , if-else if문 반복문 -while문, for문, break, continue 함수 - 나누어 처리하기 위한 목적 - 가독성 향상 / 유지 보수 및 확장 용이 표준함수 : 언어에서 기본적으로 제공해주는 함수함수를 라이브러리화 시켜 편리하게 사용 가능 사용자 정의 함수 : 사용자가 직접 원하는 기능을 만듦 void 타입 : 결과값을 리턴하지 않는 함수 변수의 범위- 지역 변수  - 함수의 매개변수도 스택 메모리에 할당되는 지역 변수이다.  - 함수 호출 순서와 소멸 순서는 반대 - 전역 변수 : 함수..

프로그래밍의 기본 원리-변수와 자료형

프로그래밍의 기본 원리1. 코드의 내부 동작 구조 알기2. 알고리즘적인 사고하기3. 공통적인 로직 알기4. 포인터의 개념 알기5. 함수 포인터에 대해 알기6. 구조체, 공용체, 열거형 객체지향 철학의 이해 타입스크립트의 기초 타입스크립트 기반의 리액트  프로그래밍의 기본 원리왜 컴파일 기반 언어를 이해? -> 타입스크립트 사용을 위해 (자료형 사용 이해) 변수와 자료형32비트 기준정수 - 메모리에 4바이트 할당매모리에 접근 ->. 주솟값으로! /근데 주솟값을 기억하기엔 어려움=> 따라서 매모리 공간에 '이름' 부여 = 변수 지역 변수 및 매개변수는 모두 스택 메모리 사용 (쌓는것)예) ㄴㄱㄷㄹ 로 저장 / 만약 함수가 끝나면 ㄹㄷㄴㄱ 순서로 삭제 new 연산자 -> 동적메모리 할당 (힙 메모리) 자료형 ..

js 기초

제어흐름 - if, switch, loop, continue, break표현식 -> 값으로 평가될 수 있는 문 (새로운 값, 기존값 참조)문 -> 프로그램 구성 기본 단위, 최소 실행 단위블럭문 -> 중괄호로 묶어 그룹진 문 choice조건문 (if, switch) conditional loop (while, do...while) -> 무한루프 조심for loop [초기화; 조건식;증감문] 형식collection loop (foreach 루프) : for...of(배열같은 반복 가능 객체), for ...in (object)break, continue 문 예외 처리하기예외 상황 exception throw와 error 객체throw문 : 예뢰 발생 시킬때 사용 -> catch 블럭에서 에러 객체 핸들링 ..

js 기초 - 변수, 연산자, 함수

자바스크립트 - 인터프리터 언어컴파일 언어 : 기계어로 변환 후 기계에서 실행인터프리터 언어 : 코드를 기계에 실행해 변환하며 진행 -> 속도가 빠름 특징 - 동적 타입 언어 : 변수에 들어가는 값에 따라, 런타임에 타입이 추론됨 - 일급 객체 : 함수는 일급객체, 객체 튀급 - 프로토타입 기반의 상속  변수: 데이터를 담은 메모리의 주솟값을 대신할 식별자: 데이터를 담아둔 메모리의 주소를 쉽게 식별하기 위해 붙인 이름 3단계를 걸친 변수 생성선언 단계 : 변수를 변수 객체에 등록초기화 단계 : 변수를 메모리에 할당, undefined로 초기화할당 단계 : 값 할당호이스팅: 모든 선언문이 해당 scope의 선두로 옮겨진것 처럼 동작하는 특성 - 뒤에서 선언한 객체를 앞에서 참조 가능 const , let..

2.28 ~ 2.32

목차2.28 원시 자료형에도 브랜딩 기법을 사용할 수 있다2.29 배운 것을 바탕으로 타입을 만들어보자2.29.1 판단하는 타입 만들기2.29.2 집합 관련 타입 만들기2.30 타입스크립트의 에러 코드로 검색하자2.31 함수에 기능을 추가하는 데코레이터 함수가 있다2.32 앰비언트 선언도 선언 병합이 된다 2.28 원시 자료형에도 브랜딩 기법을 사요할 수 있다 : string, number 같은 원시 자료형 타입도 더 세밀하게 구분 가능 킬로미터를 마일로 바꾸는 함수 코드function kmToMile (km : number) { return km * 0.62;}const mile = kmToMile(3);문제 : 함수에 넣는 '3'이라는 숫자가 마일인지, 킬로미터인지 알 수 없음킬로미터, 마일 타..

typescript 2024.10.20