클래스 클래스 선언 private과 public을 사용해서 클래스 프로퍼티를 선언할 수 있다. 두개 다 자바스크립트에서는 보이지않고 문제없이 작동하지만 private은 클래스 밖에서 수정할 수 없고 public은 가능하다. 생략해서 적으면 public이 된다. class Player { constructor( private firstName:string, private lastName:string, public nickname:string ){} } const kim = new Player("code", "kim", 'code kim') kim.lastName // 에러메세지를 띄움 kim.nickname // 문제 없음 추상 클래스 abstract 키워드로 만들 수 있다. 다른 클래스가 상속 받을 수 ..
call signatures || function signatures 함수 위에 마우스를 올렸을 때 보이는 것을 말한다. 함수를 어떻게 호출해야하고 반환 타입이 어떻게 되는지 알려준다. const add = (a:number, b:number) => a + b // call signatures // const add : (a:number, b:number) => number 이렇게 콜시그니처를 만들 수 있다. type Add = (a:number, b:number) => number 이렇게 타입을 설정해두고 함수에 적용할 수 있다. type Add = (a:number, b:number) => number const add:Add = (a, b) => a + b 오버로딩(overloading) - fun..
기본적으로는 ts는 js와 비슷한 문법을 사용한다. 하지만 js에서는 그냥 실행하게 뒀던 코드들도 ts에서는 메세지로 틀렸다고 알려준다. // 자바스크립트 const player = { name: 'bong' } player.hello() // undefined // 타입스크립트 const player = { name: 'bong' } player.hello() // 실행 전에 hello()가 없다고 메세지를 띄워 줌 타입 지정해주기 타입을 지정해줄 때는 : 을 사용하면 된다. const userName : string = "bong"; const userAge : number = 72; const numsArr : number[] = [1, 2, 3]; 하지만 매번 변수를 선언할 때마다 타입을 지정해주..
클래스(Class) ES6에 추가 된 스펙 // 기존 생성자 함수 const User = function (name, age) { this.name = name; this.age = age; this.showName = function () { console.log(this.name); }; }; const mike = new User("Mike", 30); // ES6 클래스 class User { constructor (name, age) { this.name = name; this.age = age; } showName() { consle.log(this.name); } } const mike = new User("mike", 30) constructor는 객체를 만들어주는 생성자 함수다. show..
Generator 함수의 실행을 중간에 멈췄다가 재개할 수 있는 기능 next(), return(), throw() 메소드를 가짐 function* fn() { yield 1; yield 2; yield 3; return 'finish'; } const a = fn(); 함수에 *를 붙이고 yield 키워드를 사용 yield에서 함수의 실행을 멈출 수 있음 generator 함수를 실행하면 generator객체만 반환됨 function* fn() { console.log(1); yield 1; console.log(2); yield 2; console.log(3); console.log(4); console.log(5); yield 3; return 'finish'; } const a = fn(); //..
hasOwnProperty Object.hasOwnProperty('확인할 키') 객체에서 프로퍼티를 가지고 있는지 확인하는 메소드 불리언 값을 반환함 __proto__에서 확인할 수 있음 __proto__ => 프로토 타입이라고 함 객체에서 프로퍼티를 읽으려고 하는데 없으면 여기서 읽음 객체에 hasOwnProperty로 찾는 키가 있으면 그게 실행되고 없으면 프로토타입에서 찾음 상속 const car = { wheels: 4, drive() { console.log('drive'); }, } const bmw = { color: 'red', } const benz = { color: 'black', } const audi = { color: 'white', } bmw.__proto__ = car; b..
call, apply, bind : 함수 호출 방식과 관계없이 this를 지정할 수 있음 call 모든 함수에서 사용할 수 있으며, this를 특정값으로 지정할 수 있음 const mike = { name: 'Mike', }; const tom = { name: 'Tom', }; function showThisName() { console.log(this.name); } showThisName(); // window.name showThisName.call(mike); // 'Mike' showThisName.call(tom); // 'Tom' const mike = { name: 'Mike', }; const tom = { name: 'Tom', }; function showThisName() { co..
Lexical 환경에서 one도 할당되고 addOne은 초기에 이미 선언 완료됨 addOne(5)이라는 함수가 실행되어 새로운 Lexical 환경이 생김 이 Lexical환경에는 함수가 넘겨받은 매개변수와 지역변수들이 저장됨 함수가 호출되는 동안 전역, 내부 Lexical 환경 두개를 가짐 내부 Lexical 환경은 전역 Lexical 환경을 참조할 수 있음 내부 Lexical 환경에 one이 없어서 전역 Lexical 환경을 참조해 one을 찾아 계산을 함 makeAdder와 add3을 선언해 전역 Lexical 환경이 생성됨 add3 위치의 코드가 실행되면서 새로운 Lexical 환경이 생성됨 makeAdder 함수가 실행되어 add3은 return하는 함수가 됨 마지막 줄의 코드가 실행되면서 add..
- Total
- Today
- Yesterday
- 코딩앙마
- 저스트코드
- 구름에듀
- Python
- scss
- 제이쿼리
- React
- map
- 코드잇
- vscode
- 드림코딩
- 김버그
- 비주얼스튜디오코드
- CSS
- javascript
- 스파르타코딩클럽
- 제로초
- Typescript
- git
- TS
- 자바스크립트
- 파이썬
- js
- html
- 리액트
- Til
- 회고
- 타입스크립트
- 깃
- vue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |