본문 바로가기

Language67

[경로설정] 절대경로·상대경로 | 작업 디렉토리(cwd) 경로지정관련 다양한 개발환경에서 정상적으로 파일처리가 가능한 프로젝트를 구성하기 위해서는 경로에 대한 고려를 해야한다. 이에 필요한 개념들을 톺아본다. 절대경로 / 상대경로 절대경로 - 최상위 디렉토리(루트 디렉토리)에서 시작하는 경로 - 표기 규칙 Windows >> C:\Users\Username\Documents\file.txt Unix/Linux >> /home/username/Documents/file.txt 상대경로 - 현재 작업 디렉토리를 기준으로 나타낸 경로 - 표기 규칙 ./ : 현재 디렉토리 (생략할수있다) ../ : 상위 디렉토리 현재 작업중인 디렉토리 current working directory 상대경로의 시작점이다. 조작방법 - os.getcwd() : 현재 작업중인 디렉토리 반.. 2023. 7. 13.
[문법] 가비지콜렉터, 스페셜 변수 파이썬 그 외카테고리로 묶이지 않는 짤막한 개념들을 다뤄본다. 가비지 콜렉터더 사용할 가능성이 없는 데이터를 메모리에서 제거하는 역할스왑(렘부족으로 하드디스크를 메모리처럼 사용하면서 처리가 느려지는 현상)을 막아주는 효과가 있다.제거대상1. 변수에 저장되지 않은 경우2. 블록에서 나오면서 변수를 활용할 수 없게 되는 경우class Test: def __init__(self, name): self.name = name print(f"{self.name} - 생성") def __del__(self): print(f"{self.name} - 파괴")Test("A")Test("B")c=Test("C")d=Test("D")#출력결과# A - 생성# A - 파괴 >>.. 2023. 7. 11.
[클래스] 정적요소(클래스변수, 클래스함수) 및 캡슐화(프라이빗변수, 게터/세터) 클래스 심화파이썬 클래스를 보다 심도있게 활용하기 위한 개념들을 알아본다.정적요소클래스 내에서 사용되는 정적(static) 요소들에는 클래스변수와 클래스함수가 있다. 클래스변수(Class variable)인스턴스 변수가 메소드 내에서 'self.변수명'으로 정의된다면 클래스변수는 메소드 밖에서 선언된다.형태class 클래스명:    변수명 = 값>> 클래스이름.변수명 또는 인스턴스이름.변수명으로 접근한다.특징1. 모든 인스턴스들이 공유하게 된다   >> 한 인스턴스에 의해 변경되면 모든 인스턴스에서도 변경된다.   (cf. 인스턴스변수는 각각 고유한 속성이다)2. 클래스 정의 시점에서 생성되기 때문에 클래스명.변수명으로 접근할 수 있다.   (cf. 인스턴스변수는 인스턴스의 생명주기에 종속적이며, 인스턴.. 2023. 7. 11.
[함수] 심화편 : 클로저, 데코레이터, 스페셜변수 함수 심화파이썬 함수의 동작을 개선하거나 확장하는데 사용되는 메커니즘들을 알아본다.포스팅순서클로저데코레이터팩토리함수클래스데코레이터  클로저(Closure)함수 안에 내부 함수(inner function)를 구현하고 그 내부 함수를 반환하는 함수클로저는 함수가 해당 함수가 선언되었을 때의 환경(스코프)를 "기억"하고, 나중에 해당 환경에 접근하여 변수에 접근하거나 수정할 수 있게 한다>> 일반적으로 함수의 실행이 끝나면 실행문맥(context 또는 enviroment)도 소멸되나, 함수A의 실행결과로 반환된 함수B는 자신이 생성된 문맥(A의 문맥)에 접근할 수 있다. 이렇게 유지된 문맥과 이 문맥에 접근하는 함수를 클로저라고 부른다.기능1. 데이터은닉   - 클로저에 속한 지역변수는 바깥에서 직접 접근할 .. 2023. 7. 9.
[클래스] 스페셜 메소드 스페셜 메소드파이썬의 내장메소드를 효과적으로 활용하고객체들간의 통일성을 만들어주는 스페셜 메소드에 대해 톺아본다 스페셜 메소드란?특정 상황에서 자동으로 호출 되는 메소드  *메소드 == 클래스 내의 함수약 100여개가 넘는 스페셜 메소드가 있으며, 정의할때 사용해야할 이름들이 약속되어있다>> 같은 규칙으로 호출할 것이 약속되어있기 때문에 협업에 좋다클래스 안에 스페셜 메소드를 정의해주면 기존 스페셜메소드의 오버라이딩이 되어진다.형태- 네이밍 : __xx__- 호출 : xx(obj)  * obj.__xx__() 로도 호출할 수 있으나, 가독성과 일관성을 위해 내장함수로 호출하는게 좋다.  자동호출 케이스객체 생성__init__ >> 객체가 생성될 때 자동으로 호출 (객체 인스턴스의 초기화를 위해 사용)객체.. 2023. 7. 7.
[클래스] 기본 문법 및 상속 클래스파이썬 역시 객체지향 프로그래밍 언어이다.객체를 활용하는 방법에 대해 알아본다. 연관용어객체지향 프로그래밍1. 클래스를 기반으로 객체를 만들고2. 객체들의 상호작용을 중심으로 개발하는 방법론추상화- 복잡한 시스템이나 개념을 단순화하여 필요한 부분만을 강조하는 것객체- 속성을 가질 수 있는 대상- 문자열, 딕셔너리 등도 객체이다.인스턴스- 클래스를 기반으로 만들어진 객체- 일반 객체와 근본적인 차이는 없다.  클래스(Class)란?객체를 만들기위한 템플릿속성과 기능을 가진 인스턴스를 만드는 도구특징1. 클래스 정의시에 모든 속성을 명시하지 않아도 된다.  (인스턴스 생성 후에도 새로운 속성을 추가하거나 수정할 수 있음)2. 클래스명은 파스칼케이스를 따른다.# 클래스 선언 방법class 클래스명: .. 2023. 7. 6.
[표준 모듈] sys, os, urllib, random, datetime 표준모듈파이썬에서 제공하는 다양한 표준라이브러리들을 알아본다. ramdom 모듈난수 생성과 관련된 함수들을 제공random.random()- 0이상 1미만의 float 반환random.uniform(a, b)- a이상 b이하의 정수 난수를 생성random.shuffle(리스트)- 요소들을 랜덤하게 섞은 후 반환random.choice(리스트)- 랜덤한 1개 요소 반random.sample(리스트, k=숫자)- 리스트에서 '숫자'만큼의 요소를 뽑은 리스트 반환  sys 모듈인터프리터와 상호작용하는 기능들을 제공>> 프로그램의 실행 환경을 제어하고 다양한 시스템 수준 작업을 수행sys.argv- 현재 스크립트를 실행할 때 전달된 명령줄 인자(argument)들을 담고 있는 리스트 반환- 예시  명령어 : p.. 2023. 7. 6.
[문법] 모듈시스템과 패키지 모듈 Module파이썬에서 재사용 가능한 코드의 단위인 모듈에 대해서 알아본다. 모듈이란?함수, 클래스, 변수 등을 정의하고 다른 스크립트에서 import하여 사용할 수 있는 독립적인 단위가장 작은 단위는 파이썬 파일 1개가 될 수 있다(특별한 작업 없이도 파일을 모듈로 취급할 수 있음)라이브러리는 모듈의 일종이다.종류1. 사용자 정의 모듈2. 외부모듈(서드파티모듈)   - 다른사람들이 만들어서 공개한 모듈   - 별도로 설치해야한다     >> pip install 모듈이름3. 표준 모듈   - 파이썬 표준 라이브러리(자동설치)외부모듈 분석하기1. 'pip list' 로 설치된 모듈 확인2. 'pip show 모듈명'으로 설치된 위치 확인3. 해당 위치로 가서 py 파일을 분석한다.모듈만들기1. 모듈명.. 2023. 7. 5.
[함수] 메모리관리 : 스택, 힙, global 키워드 메모리관리파이썬에서 전역과 지역(함수영역)에서 데이터가 메모리에 어떻게 기록되고 관리되는지 톺아본다. 메모리영역 : 스택(Stack)지역 변수, 함수 호출 및 리턴, 임시 데이터 등을 관리하는 데 사용되는 영역후입선출(LIFO, Last-In-First-Out)의 구조  >> 데이터의 추가와 제거는 상단(맨 위)에서만 이루어진다.장점- 메모리 할당 및 해제가 간단하고 빠르다.(변수가 스택 프레임에 직접 저장되므로 접근이 빠르고 효율적)- 스택은 크기가 제한되어 있고 고정된 구조를 가지므로 메모리 사용의 예측이 가능.- 스택은 후입선출(LIFO) 구조는 함수 호출과 관련된 데이터 관리에 효율적단점- 크기가 제한되어 있다.- 데이터의 크기를 컴파일 시점에 알려져야한다.- 긴 생명주기를 가지는 데이터에는 부적.. 2023. 7. 5.
[문법] 제너레이터, 이터레이터, 이터러블 반복 및 흐름파이썬에서 다루는 순회관련 개념들을 좀더 자세히 톺아본다. Iterable(이터러블)이터레이터에 의해 순회될 수 있는 객체__iter__() 혹은 __getitem__() 메서드를 구현해야한다관련포스팅 : 239번 포스팅  Iterator(이터레이터)데이터의 스트림을 표현하는 객체이터러블의 순회를 주관한다__iter__() 와 __next__() 필요>> __iter__()를 구현했으므로 이터레이터는 이터러블이다.>> 이터레이터 ⊂ 이터러블순회과정1. 이터러블 객체 __iter__() 메소드 호출2. 해당 이터레이터의 첫 원소를 가리키는 새로인 이터레이터 생성 및 반환3. 이터레이터의 __next__() 메소드 호출4. 현재 원소가 리턴되고 인덱스 포인터가 다음 원소를 가르치도록 옮겨진다. .. 2023. 7. 4.
[내장객체] file 객체를 통한 입출력 파일 입출력파이썬 내장함수를 이용해서 파일 입출력을 할 수 있다. 이때, 텍스트 파일 위주로 알아본다. 파일의 종류텍스트파일- 문자를 ASCII, UTF-8, UTF-16 등으로 인코딩한 파일. - 줄 단위로 데이터가 구성되어 있으며, 각 줄은 문자들의 시퀀스로 이루어져 있다.- 텍스트 편집기로 열어서 내용을 확인하고 편집할 수 있다- ex) 소스 코드 파일(.py, .java), 문서 파일(.txt, .docx)- 데이터를 구조적으로 표현하는 방법에는 CSV, XML, JSON 등의 방법이 있다.바이너리파일- 이미지, 비디오, 실행파일 등을 JPEG, PNG, GIF 등으로 인코딩한 파일- 텍스트 편집기로 열면 알수없는 문자열의 집합이 된다- 특정 파일 형식에 맞게 구조화되어 있으며, 애플리케이션 또는.. 2023. 7. 4.
[함수] 기본편 : 매개변수, 재귀함수, 람다 함수파이썬에서 함수를 활용하는 방법에 대해 톺아본다. 기본편 함수 Function형태def 함수명(매개변수1, .. ):    실행코드    [return]호출방식- 함수명 : 함수객체를 참조하는것으로 다른변수에 할당하거나 다른함수에 인자로 전달 할 수 있다.- 함수명() : 실제 함수의 코드블록을 실행한다.특징- 함수의 매개변수와 반환값의 타입을 사전에 선언하지 않아도 된다.- 함수내에서 전역에 선언된 변수를 수정하려면 global 키워드를 사용해야한다.  (관련 포스팅 : 259번 포스팅)- 람다(lambda) 표현식으로 함수를 간단하게 작성할 수 있다- 오버로딩을 기본매개변수, 가변매개변수 등을 활용해서 기능을 구현할 수 있다.- 함수 내부에서 자기자신을 호출할 수 있다(재귀함수)- First-cl.. 2023. 7. 3.
[제어문] if문, for문, while문 외 (리스트내포 외) 제어문 : 기본파이썬에서 사용하는 제어문의 문법을 알아본다 if문if 조건1 : 조건1이 true일 시 실행할내용elif 조건2 : 조건2이 true일 시 실행할 내용else : false일 시 실행할 내용and 와 or 를 이용해서 다수의 조건을 결합할 수 있다. for문 for 반복자 in 이터러블 : 반복할 내용 else : 수행을 정상완료했을때 실행할 내용 ]이터러블에는 문자열, 리스트, 딕셔너리, range() 등이 있다.반복자- 시퀀스 자료형은 반복자에 요소가 직접 저장된다.- 딕셔너리 자료형은 반복자에 키값이 저장된다. >> 값에 접근하려면 이터러블[반복자] 를 사용if true: for i in range(5): if i == .. 2023. 6. 29.
[자료형] 문자열 활용: 문자열 포멧팅, raw string 문자열 활용파이썬에서 문자열을 다양하게 활용하는 방법들에 대해 톺아본다raw stringraw string백슬래시('\')를 이스케이프 문자로 해석하지 않고 그대로 문자열로 취급하는 문자열 표기법활용 - 정규표현식- 파일 경로- 정규표현식 패턴 등사용방법- 문자열 리터럴 앞에 'r' 또는 'R'을 붙인다   r"..."   R"..."normal_string = "This is a newline.\nThis is the second line."print(normal_string)# 출력:# This is a newline.# This is the second line.raw_string = r"This is a newline.\nThis is the second line."print(raw_string).. 2023. 6. 29.
[문법] 특별편 : 슬라이싱, 전개연산자, 키워드 문법 : 특별편보편적이지 않은 문법들을 모아놓았다. 슬라이싱시퀀스 자료형의 일부분을 추출하는 방법각 인자를 구분하는 : 는 1개 혹은 2개 사용할 수 있다.표현법변수명[시작:끝]변수명[시작:끝:간격]인자- 시작 : 추출을 시작할 인덱스, 기본값 == 0- 끝 : 추출을 종료할 인덱스(미포함), 기본값 == 시퀀스의 길이- 간격 : 추출할 요소 사이의 간격, 기본값 == 1       마이너스(-) 입력시 역방향으로 추출하게 된다.my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 시작과 끝, 단계를 모두 지정하여 슬라이싱sliced_list = my_list[1:8:2]print(sliced_list) # 출력: [2, 4, 6]# 시작과 끝을 생략하고 단계만 지정하여 슬라이싱.. 2023. 6. 29.
[문법] 기본 문법, 내장함수(range, 형변환, ..) 문법 : 기본편일반 프로그래밍 언어와 일맥을 상통하는 문법들을 알아본다.기본 문법특징대소문자를 구분한다.코드블록의 시작과 끝을 정의할 때 4칸 들여쓰기를 한다(cf. 자바는 { }를 사용한다)변수- 변수 선언시 자료형을 붙이지 않는다- 자료가 담기는 순간에 타입이 결정된다.- 동일 변수에 다른 타입의 자료형 재할당 가능하다인덱스- 제로인덱스를 사용(숫자셀때는 0부터)- 마이너스(-)는 뒤에서부터 카운트한다. 범위지정- 시작숫자는 포함하고 마지막숫자는 포함하지 않는다.명명 컨밴션- 클래스명 : 파스칼 케이스(첫문자가 대문자인 캐멀케이스)- 함수, 변수 : 스네이크 케이스 주석- 한줄 주석은 #를 사용한다.- 여러줄 주석은 ''' 혹은 """를 사용한다. (문자열을 사용)줄바꿈- 코드가 너무 길어지는 경우,.. 2023. 6. 29.
[자료형] 숫자형, 불린, None 자료형(2/2)파이썬에서 사용되는 자료형들에 대해 알아본다. 특성에 따른 분류특성을 모아보기 위해 Iterable를 기준으로 나눠본다.Iterable types(반복 가능한 자료형)- 문자열(String)- 리스트(List)- 딕셔너리(Dictionary)- 튜플(Tuple)- 집합(Set)Non-iterable types(반복 불가능한 자료형)- 정수(Integer)- 실수(Float)- 불리언(Boolean)- None 그 외 자료형   숫자형 : int, float소수점이 없으면 정수타입(int), 소수점이 있으면 실수타입(float)이다.지수표기법- 숫자 뒤에 'e' 또는 'E'를 붙여 지수를 표현한다ex : 0.44e4 == 0.44 × 10^4 == 4400     1.23e-3 == 1.23.. 2023. 6. 29.
[자료형] 문자열, 리스트, 딕셔너리, 튜플, 집합 자료형(1/2)파이썬에서 사용되는 자료형들에 대해 알아본다. 특성에 따른 분류특성을 모아보기 위해 Iterable를 기준으로 나눠본다.Iterable types(반복 가능한 자료형)- 문자열(String)- 리스트(List)- 딕셔너리(Dictionary) - 튜플(Tuple)- 집합(Set)Non-iterable types(반복 불가능한 자료형) - 정수(Integer) - 실수(Float) - 불리언(Boolean) - None  iterable 특징iterable 자료형이 갖는 특징에 대해 알아본다. iterable 자료형이란?반복가능하며 요소들을 순회하고 접근할 수 있는 자료형시퀀스 자료형과 비순차형 자료형으로 나뉜다.종류- 시퀀스 자료형 : 문자열, 리스트, 튜플- 비순차형 자료형 : 딕셔너리,.. 2023. 6. 22.
[개요] 개발환경 구축 / pip 파이썬프로그래밍 언어 파이썬을 시작해본다.파이썬이란?간결하고 읽기 쉬운 인터프리터 언어장점- 인간의 사고방식을 표현한 문법으로 빠르게 배울 수 있다.- 접착(glue) 언어라 불릴 정도로 다른 언어와의 결합이 용이하다- 모든 운영체제에서 같은 방법으로 사용할 수 있다.- 인공지능, 머신러닝을 도와주는 라이브러리들이 다양하다.단점- 느리다.  단, PC 성능이 좋아져서 연산이 많이 필요한 게임 등이 아닌 이상 차이가 체감되지 않는다. >> PC가 작은 소형장치에서는 쓰이지 않는다. >> 머신러닝, 딥러닝과 같은 고정적인 연산만 별도로 C언어로 작성하기도 한다.- 모바일 어플 개발이 어렵다  인터프리터 언어관련포스팅 : 35번 포스팅컴파일 언어에 대응 되는 개념으로 컴파일 과정이 없고 번역과 동시에 실행이 .. 2023. 6. 21.
[함수] async, await을 통한 비동기처리 async, await함수 단위에서 비동기로직을 처리하는 문법에 대해 알아본다. 함수와 async await비동기로직을 동기프로그래밍처럼 작성할 수 있게 한다프로미스(Promise)를 기반으로 확장된 문법이다.>> 프로미스는 객체로 존재하지만 async await는 함수에 적용되는 개념>> then 체이닝보다 가독성이 좋다  async 키워드함수 선언 앞에 붙여서 사용한다기능- 함수 내부에서 await를 사용할 수 있게 한다- 항상 Promise 객체를 반환시키도록 한다  >> 비동기 이후 작업을 핸들러로 처리할 수 있다Promise 반환값- 명시적인 return 값에 이행됨 상태의 프로미스가 감싸진다  >> return 하지 않으면 undefined가 담긴다- 함수 내부에서 예외가 발생하면 거부됨 상태.. 2023. 6. 9.
[폰트] 나만의 글꼴 적용하기 : @font-face @font-face 웹 폰트방문자의 로컬 컴퓨터에 폰트 설치 여부와 상관 없이 온라인의 특정 서버에 위치한 폰트 파일을 다운로드하여 화면에 표시해주는 웹 전용 폰트예시{ font-family: Nanum Gothic; }- 웹 폰트 사용 X :   나눔고딕 폰트가 설치되지 않은 pc에서는 기본 폰트인 돋움 글꼴이 노출  나눔고딕 폰트가 설치된 pc에서는 나눔고딕 폰트가 노출. - 웹 폰트 사용 O :   방문자의 pc에 나눔고딕 폰트가 있든 없든 나눔고딕 폰트가 노출주요특징1. 최근 모든 브라우저들은 웹 폰트를 지원하고 있다2. 웹사이트 서버에 폰트를 직접 업로드하거나 서드파티 서비스(구글웹폰트 등)을 사용할 수 있다@font-face란?- CSS 표준의 일부로 웹 폰트를 정의할 때 사용하는 규칙- 서버.. 2023. 6. 9.
[내장객체] Promise를 사용한 비동기 작업 처리 비동기 처리, Promise 포스팅 순서비동기 처리의 필요성Promise의 세가지 상태 - Pending(대기중) - Fulfilled(이행됨) - Rejected(거부됨)Promise 객체 생성 - 생성자 사용 - 메소드 사용핸들러메소드 - then - catch - finallyPromise.all : 병렬로 처리하기Promise.race : 가장 먼저 처리된 프로미스 가져오기 비동기 처리의 필요성자바스크립트의 동기/비동기 특성- 자바스크립트는 기본적으로 단일스레드에서 동기적으로 작동한다- 단, 일부 시간이 소요되는 API들은 비동기로 작동한다(setTimeout, $.get (jQuery), fetch 등)  >> 이때 동기적으로 코드를 짜면 원하지 않는 결과가 나온다  >> 콜백함수 등으로 이 비.. 2023. 6. 8.
[문법] 유용한 ES6 : 모듈시스템, 템플릿 리터럴 유용한 문법들ES6에서 추가된 기타 문법들을 알아본다포스팅순서모듈시스템템플릿 리터럴모듈시스템ESM(ES Modules) 문법으로 불린다모듈 내보내기- export 키워드를 객체(변수, 함수, 클래스) 선언 앞에 붙여서 내보낸다// 변수 내보내기export const myVariable = 10;// 함수 내보내기export function myFunction() { return "Hello, world!";}// 클래스 내보내기export class MyClass { constructor(name) { this.name = name; } greet() { console.log(`Hello, ${this.name}!`); }}모듈 가져오기- import .. 2023. 5. 30.
[문법] this 키워드 사용법 this 키워드 this 란?현재 실행 중인 코드의 실행 문맥(execution context)에 따라 다른 객체를 참조하는 키워드this는 호출시점에서 사용된 객체로 바인딩된다.반적인 전역 컨텍스트에서 this는 전역객체를 참조한다* 전역객체 : 브라우저 환경에서는 window 객체, Node.js에서는 global 객체** 단, 엄격 모드('strict mode')에서는 this가 undefined로 설정console.log(this); // window(브라우저) 또는 global(Node.js)  함수에서의 this 바인딩함수 컨텍스트1. 일반 함수   >> 호출시점에서 사용된 객체를 전역객체로 본다       (this == 전역 객체)2. 생성자 함수      >> 새로 생성되는 객체를 참조/.. 2023. 5. 22.
[연산자] ||, &&, ?, ??, !, !!, ==, === 연산자비교연산자와 논리 연산자에 대해 알아본다. 비교연산자값을 비교하는 연산자 2종류 ==  : 동등 연산자값이 동일한지 반환자바스크립트의 자동 타입 변환으로 인해 데이터 유형이 달라도 동등하다고 판단할 수 있다.타입변환 규칙1. 동등한 타입인 경우 : 값 자체를 비교2. undefined와 null: 동등하다고 간주3. 문자열과 숫자 비교: 문자열이 숫자로 변환될 수 있는 경우, 변환된 숫자를 사용하여 비교를 수행4. 불린과 다른 타입 비교: 불린 값이 1 또는 0으로 변환되어 비교5. 객체와 비교: 객체와 비교할 때는 참조 값을 비교(동일한 메모리 주소를 참조하고 있을 경우에만 동등하다고 판단)5 == 5 // true5 == '5' // truetrue == 1 // t.. 2023. 5. 22.
[활용] 타입별칭, 유니온타입, 인터섹션, 제너릭, enum 타입의 확장성타입 별칭(type alias)type 키워드로 새로운 타입을 정의하는 것복잡한 타입을 간단하게 표현하거나, 재사용 가능한 타입 패턴을 정의하는 데 활용단순히 새로운 이름을 붙일 뿐이고, 실제로 새로운 타입이 생성되는 것은 아니다(오류메세지 등에는 기존 타입명이 사용된다.)type Person = { name: string; age: number; address: string;};type Callback = (data: string) => void; // 문자열을 인자로 받고 반환값이 없는 함수 타입const person: Person = { name: 'John', age: 30, address: '123 Main St' };function process(callback: Callba.. 2023. 5. 19.
[타입] 함수 타입 톺아보기 함수타입스크립트에서 함수를 표현하는 방식에 대해 알아본다.함수의 타입함수는 두가지 타입 정보가 필요하다1. 매개변수(parameter)의 타입2. 반환값(return value)의 타입 (반환 타입)다양한 표현방식- function 함수명(매개변수: 타입): 리턴타입 { ... }- const 변수명 = function 함수명(매개변수: 타입): 리턴타입 {...}- const 변수명 = function (매개변수: 타입): 리턴타입 {...}- const 변수명:(매개변수: 타입) => 리턴타입 = 함수;- const 변수명 = (매개변수: 타입): 리턴타입 => {...}function logGreetings(name: string): void { console.log(`Hello, ${name}!.. 2023. 5. 18.
[함수] ES6 : 매개변수 강화, 화살표 함수 ES6 함수의 기능ES6에서 추가된 문법 중 함수와 관련된 것들을 톺아본다.함수 기본 특성을 확인하고자 하면 42번 포스팅을 확인한다포스팅순서매개변수 활용- 기본값 지정- 나머지 매개변수- 명명된 매개변수화살표함수정적 this 바인딩 활용 예 매개변수 활용기본값 지정- 매개변수에 기본값을 줄 수 있게 되었다.- 기본값에 함수를 넣을 수 있다.  >> 해당 함수는 기본값이 사용될때에만 발동된다function required() { throw new Error('no parameter')}function printLog(a=required()){ console.log({a}); // 단축 속성명을 이용한 출력}print(10)} // { a: 10 }printLog(); // 에러발생 : no paramet.. 2023. 5. 17.
[타입] any, never, 배열, 객체, 튜플, .. 타입타입스크립트에서 쓰이는 타입들에 대해 알아본다.타입 표기 (Type Annotation)타입 표기식별자 또는 값 뒤에 콜론(:)을 붙여 value: type 의 형태로 표기한다.  기본타입booleannumber (JS와 동일하게 IEEE754 표준을 따르는 부동소수점)stringnullundefined**null 타입과 undefined 타입은 각각 null과 undefined라는 하나의 값만을 갖는다. 이 두 값을 자기 자신의 타입, 그리고 아래에서 언급될 void 타입 이외의 타입에 할당하려 하면 타입 에러가 발생한다.const areYouCool: boolean = true;const answer: number = 42;const typescript: string = "great";const .. 2023. 5. 16.
[문법] ES6 사용성 개선 : 객체, 배열, 함수 등 데이터 구조 사용성 개선ES6에서 추가된 문법을 통해 객체와 배열의 사용성이 많이 개선되었다관련된 문법들을 알아본다 포스팅순서손쉽게 선언하기- 단축 속성명- 단축 메소드명- 계산된 속성명- 트레일링 콤마속성값 손쉽게 다루기- 전개 연산자- 비구조화 할당- 나머지 연산자손쉽게 선언하기객체 리터럴 {} 로 객체(Object)를 선언할 때, 또는 클래스 정의할 때사용할 수 있는 문법들에 대해 알아본다단축 속성명shorthand property name새로 만드려는 객체의 속성값 일부가 이미 변수로 존재하면,변수를 명시하는것만으로도 속성(키-값 쌍)을 추가할 수 있다>> 이때 속성명(키)은 변수명이 된다이를 변수 콘솔 출력에 활용하면 코드가 단축된다const name = "nana"conat age = 17//.. 2023. 5. 16.