JavaScript와 TypeScript
- TypeScript는 JavaScript 기반의 언어
- JavaScript는 클라이언트 측 스크립팅 언어 TypeScript는 객체 지향 컴파일 언어
- 객체 지향 프로그래밍 패러다임은 데이터 추상화에 중심
- 객체와 클래스라는 두 주요 개념을 기반으로 함
JavaScript
- 웹 개발에 주로 사용됨
- 웹 페이지를 대화식으로 만드는 프로그래밍 언어
- 폼 유효성 검사, 애니메이션 적용 및 이벤트 생성을 수행
- 클라이언트 측 스크립팅 언어
- 사용자가 웹 브라우저를 열고 웹 페이지를 요청하면 해당 요청이 웹 서버로 이동함
- 멀티 스레딩, 멀티 프로세싱 기능이 없음
TypeScript
- JavaScript의 상위 집합으로 JavaScript의 모든 기능이 있음
- TypeScript 컴파일러를 사용하여 ts(TypeScript)파일을 js(JavaScript) 파일로 변환, 쉽게 통합
- 정적 유형 검사 제공
- 클래스 기반 객체를 만들 수 있음
- 클래스 기반이므로 객체 지향 프로그래밍 언어로 상속, 캡슐화 및 생성자를 지원할 수 있음
TypeScript 예시 코드
function sum(a, b) {
return a + b;
}
function sum(a: number, b: number) {
return a + b;
}
class Person {
private name: string;
constructor(name: string) {
this.name = name;
}
sayHello() {
return "Hello, " + this.name;
}
}
const person = new Person('Lee');
console.log(person.sayHello());
var Person = (function () {
function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function () {
return "Hello, " + this.name;
};
return Person;
}());
var person = new Person('Lee');
console.log(person.sayHello());
let foo: string = "hello"
let foo = "hello"
function multiply1(x: number, y: number): number {
return x * y;
}
function multiply1(x, y) {
return x * y;
}
const multiply2 = (x: number, y: number): number => x * y;
const multiply2 = (x, y) => x * y;
let isBoolean: boolean = false;
let isNull: null = null;
let isUndefined:undefined = undefined;
let list: any[] = [1,2,"3",false]
let list2: number[] = [2,3,4]
let list3: Array<number> = [1,2,3]
let tuple : [string, number]
tuple = ["hello",10]
enum Color1 {Red,Green,Blue}
let c1: Color1 = Color1.Green
console.log(c1)
let isAny: any = 5
isAny ="string:
isAny = false
function isUser():void {
console.log("hello")
}
function infiniteLoop(): never {
while(true){}
}
기타
- 타입은 소문자, 대문자 구별
- 타입 선언을 생략하면 동적으로 타입이 결정 => 타입 추론
- 타입 선언 생략 + 값 할당 x => any 타입
var foo;
console.log(typeof foo);
foo = null;
console.log(typeof foo);
foo = {};
console.log(typeof foo);
foo = 3;
console.log(typeof foo);
foo = 3.14;
console.log(typeof foo);
foo = "Hi there";
console.log(typeof foo);
foo = true;
console.log(typeof foo);
let foo;
foo = 'Hello';
console.log(typeof foo);
foo = true;
console.log(typeof foo);
너무 잘 설명되어 있네요 하트 누릅니다👍🏼