KIC/TYPESCRIPT
[TypeScript] 설치 및 기본 let, const, template
octopengj
2020. 10. 30. 15:22
Node.js 설치
Node.js
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
nodejs.org
Node.js를 설치하는 목적
1. 설치명령어->npm package manager(프로그램 설치관리툴) 이 같이 설치 됨
2. 서버목적
Typescript 설치
VSCode 설치
Visual Studio Code - Code Editing. Redefined
Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.
code.visualstudio.com
실행
test.ts 생성 후 작업
/*
test.ts
typescript => 기존의 자바스크립트구문 + 타입 (=type)
*/
let y = "test" // let 변수명=저장할 값 -> 자바스크립트 문법
let x:string = "test" // let 변수명:자료형=저장할 값 -> 타입스크립트문법
console.log(x) // 자바스크립트로 컴파일 tsc 소스파일명.ts -> 소스파일명.js
보안문제로 실행이 안된다.
윈도우 홈키에서 마우스 오른쪽 클릭 -> window powershell(관리자) 실행
아래의 문구를 입력
Set-ExecutionPolicy Unrestricted -> y 입력 엔터 -> 닫기
/*
1.let.ts
형식) let 변수명=값 (변수선언) vs var 변수명
*/
var foo=123;
console.log(foo); //123
{
var foo=456; // 중복선언이 가능하다.
}
console.log(foo);//456
let foo2=789;
console.log(foo2);//789
{
let foo2:number=456; //중복선언이 불가능하다.
let bar:number = 456;
console.log(bar);//456
}
console.log(foo2);//789 블럭내부에 선언된 let변수는 외부에서 불러다 사용할 수 없다.
console.log(bar);// 블럭범위 밖에서는 let으로 선언된 변수는 참조할 수 없다.
/*
tsc 1.let.ts
node 1.let.js
*/
/*
2.const.ts
ts(기존의 자바스크립트구문+자료형 추가,클래스사용)
js(자료형X 클래스사용X)
2. const 상수화시킬때 사용=>react에서 많이 사용
1) const를 사용할때에는 반드시 상수화된변수에 초기값을 설정해야 한다.
2) 중간에 값을 변경할 수 없다.(상수이기때문에)
3) 중복선언이 가능하다. =>var 변수와 공통점
*/
const too=123;
//TOO=456;
{ //block level scope(블럭범위)
const too=100; //중복선언이 가능하다.
console.log(too);//100
const too2=45;
}
console.log(too);//123 블럭밖에서는 안쪽의 const변수값을 불러다 사용X
//console.log(TOO2);//블럭밖에서는 TOO2을 불러다 사용X
//tsc 2.const.ts ->node 2.const.js
/* 3.template.js
백틱문자열 ``
template string(탬플릿 리터럴) =>' '," ", 여러문장 =>+ 줄바꿈
` `
*/
const template=` 템플릿 리터럴은
'작은 따옴표와' 과 "따옴표"를
혼용해서 사용이 가능합니다.`;
console.log(template);
const template2=`
<ul class="nav-item">
<li><a href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>`;
console.log(template2);
/*
tsc 3.template.ts
node 3.template.js
*/
/*
4. template2.ts
``백틱문자열은 여러줄의 문장을 + 기호를 쓰지 않고도 사용이 가능
출력형태로도 사용이 가능 `${출력할 변수명 또는 수식}`
*/
const name2 = `테스트`;
const addr = `서울시 강남구`
//기존방법
console.log('이름은 '+name2+'이고, 주소는 '+addr+'입니다.');
//차이점
console.log(`이름은 ${name2} 이고 주소는 ${addr} 입니다.`);
//표현식도 가능하지만 수식(연산)도 가능하다.
console.log(`1+1=${1+1}`);
const name3 = 'imsi';
console.log(`Hello ${name3.toUpperCase()}`); // ${객체명.함수명()} 함수도 호출이 가능하다.
/*
tsc template2.ts
node template2.js
*/