JS/JavaScript&TypeScript 15

JavaScript&TypeScript 15. 생성기 함수

(1) 생성기 함수( Generator Function ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/15_GeneratorFunction 1) 일반 함수와 생성기 함수의 공통점 코드의 묶음 이다. 인자를 받는다.( 받지 않을 수도 있다. ) 값을 반환한다.( 반환하지 않을 수도 있다. ) 2) 일반 함수와 생성기 함수의 차이점 일반 함수는 값을 반환하면 함수가 종료되는데, 생성기 함수는 값을 반환하고 나서 함수가 종료될 수도 있고, 종료되지 않을 수도 있다. ( 종료할지 말지 선택할 수 있다. ) 영원히 종료되지 않게 만들수도있고, 몇번의 반환을 거친 후에 종료될 수도 있고, 일반 함수처럼 바로 종료될..

JavaScript&TypeScript 14. 비동기 함수

(1) 비동기 함수( Async Function ) ( TypeScript ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/14_AsyncFunction 1) JavaScript 에서는 코드를 딜레이 시킬 수 있는 방법이 없다. 예를 들어 5번째 코드를 실행하고 3초 있다가 6번째 코드를 실행 하는 방법은 존재하지 않는다. 2) JavaScript 에서 이런 딜레이를 주려면 타이머를 이용해서 callback 함수를 제공한 다음에 특정시간 이후에 그 callback 함수가 호출되는 그런 패턴의 코드를 작성해야할 것이다. ( 즉, 일반적인 코드를 동기적으로 한줄 한줄 작성하면서 딜레이를 걸 수 있는 방법은 없..

JavaScript&TypeScript 13. 일급 함수

(1) 일급 함수( First Class Function ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/13_FirstClassFunction 1) 일급 함수라고 하는 개념은 프로그래밍 언어에서 함수라고 하는 코드의 묶음을 일반적인 값처럼 취급하는 개념을 뜻한다. 2) 함수를 일반 값처럼 취급해서 변수에 넣을 수 있다. 3) 함수를 변수에 넣을 수 있다는 것은, 함수가 담긴 변수를 또 다른 함수의 인자값으로 줄수도 있고, 리턴되는 값이 일반적인 데이터가 아니라 함수가 리턴될 수도 있다는 것이다. 그래서 좀더 유연한 프로그래밍이 가능해진다. 4) 인자로 함수가 들어오는 경우( TypeScript ) ex)..

JavaScript&TypeScript 12. 속성&메소드

(1) 속성과 메소드( Attribute & Method ) ( TypeScript ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/12_Attribute%26Method 1) 속성과 메소드는 객체 안에 들어가 있는 2가지 종류의 데이터이다. 2) '속성'은 실제 순수한 데이터이다. ex) const obj = { name: 'B C', age: 27, }; 속성 자체에 속성을 객체 외부에서 내가 원하지 않는 값으로 바뀌는 것을 막을 방법은 없다. 속성을 내가 원하지 않는 값으로 바뀌는 것을 막으려면 setter 와 getter 를 만들어줘야 한다. ( setter 와 getter 는 클래스객체에서만 사용..

JavaScript&TypeScript 11. 함수 ( Function )

(1) 힘수 ( function ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/11_Function 1) 함수의 역할 코드를 묶는 것 어떤 목적의 계산을 수행하는 것 필요할 때 호출이라는 과정을 통해서 사용할 수 있다. ( 함수의 이름으로 호출한다. ) cf) 정리하면 함수란, 어떤 목적의 계산을 통해 결과를 얻을 수 있는 코드의 묶음이라고 할 수 있고, 그 계산을 필요할 때 호출이라고 하는 과정을 통해서 수행을 시켜 그 결과를 받아 볼 수 있는 문법 요소이다. 2) 함수의 기능 return 1> 계산된 결과값을 호출한 곳에 돌려줄 때 사용한다. 2> output 에 해당한다. 인자( 파라미터 ) 1> ..

JavaScript&TypeScript 10. 인터페이스&타입 별칭

(1) 인터페이스 와 타입 별칭 ( TypeScript ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/10_Interface 1) 인터페이스 ( interface ) 객체타입을 지정한다. ( 객체는 이런 규격이어야 한다고 지정 ) 1> interface IUser { readonly id : number; readonly name : Name; ( 여기에 타입은 아래에서 타입 알리아스로 만든 타입이다 ) email: string; receiveInfo: boolean; active : YesOrNo; address?: string; } 인터페이스는 타입알리아스와 섞어서 쓸수도 있다. readonly 란 ..

JavaScript&TypeScript 09. 예외 ( Exception )

(1) 예외( Exception ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/09_Exception 1) throw new Error('오류 발생') ( 예외를 던지는 곳 ) 예외를 발생시키는 구문이다. throw 라고하는 즉, 예외가 발생하면 프로그램이 종료가 된다. 바로 종료되는 것은 아니고 어디에서도 이 throw 예외를 받아주지 않으면, 최종적으로 종료되는 것이다. 2) try 와 catch ( 예외를 받는 곳 ) 예외가 발생할지도 모르는 구문을 try 안에 적고 예외가 발생했을 때 실행할 구문을 catch 안에 적는다. 특징: 1> 예외가 함수 호출의 뎁스( 깊이 )에 상관없이 바깥쪽으로 예외..

JavaScript&TypeScript 07. 조건문

(1) 조건( 분기 )문( Conditional ) Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/07_Conditional 1) if 문 값을 비교하는 방식 ex) if (age1 === 10 || age1 > 20) { console.log("나이는 10세"); } else if(age1 === 20) { console.log("나이는 20세"); } else if(age1 === 30) { console.log("나이는 30세"); } else{ console.log("모르겠습니다."); } 값 자체가 들어가는 방식 1> 숫자일경우 0 이 false, 나머지 숫자는 true 이다. 2> 문자일경우 nu..

JavaScript&TypeScript 06. 참조&복사

(1) 참조와 복사 Github: https://github.com/SHIN96BC/JavaScript-TypeScript-Concept-2022/tree/main/06_Copy 1) 복사 ( Copy ) ex) let a = 10; let b = a; a 와 b 는 같은 10 이지만 전혀 관계없는 값이다 ef) 기본형 데이터들은 모두 값이 복사가 된다. 어떤 상황에서도 이전 변수에 담겨있는 값에 영향을 주지않는다. 2) 참조 ( Reference ) ex) let o = { isLoding: false, }; let o2 = o; o 와 o2 의 값은 같은 값이다. o 에 담겨있는 값을 o2 에 옴겨 담을때 객체의 주소값만 저장되게 되어 있기 때문이다. cf) 기본형을 제외한 모든 참조형 객체들의 값은..