β¨TypeScriptβ¨
π§‘νμ
μ μΈ
πstring
const red:string = "red"
const green:string = "green"
const myColor:string = `My Color is ${red}.`
const yourColor:string = 'Your Color is' + green
πnumber
const integer: number = 6
const hex: number = 0xf00d
const nan: number = NaN
πBoolean
const isBoolean: boolean = true
const inDone: boolean = false
πNull, Undefined
null
κ³Ό undefined
λ λͺ¨λ νμ
μ νμνμ
- κ·Έλ¬λ μ격ν νμ
λ¬Έλ²μμ λ³μμ μ§μ ν λΉμ λΆκ°λ₯ν¨
void
νμ
μλ undefined
λ₯Ό ν λΉν μ μλ€
const str:string = null
const num:number = undefined
const voi1: void = null
const voi2: void = undefined
- λ³μμ κ°μ μ§μ νμ§ μμΌλ©΄ μμΌλ©΄
undefined
κ° λ¨
- κ·Έλ¬λ κ°μ΄ μ§μ λμ§ μμ λ³μμ νΈμΆμ Typescriptμμμ μλ¬λ°μ
let str: string
let num: number
console.log(str)
console.log(num)
let str: string = ''
let num: number = 0
console.log(str)
console.log(num)
πArray
- λ°°μ΄μμ λ€μ΄μ¬ μμ΄ν
μ νμ
μ 미리 μ§μ
μμ΄ν
μ νμ
μ΄ νκ°μ§μΌλ
- λ°©λ² 1 :
μμ΄ν
νμ
[]
const fruits: string[] = ['Apple', 'Banana', 'Cherry']
const numbers: number[] = [1, 2, 3, 4, 5, 6]
- λ°©λ² 2 :
Array<μμ΄ν
νμ
>
const fruits: Array<string> = ['Apple', 'Banana', 'Cherry']
const numbers: Array<number> = [1, 2, 3, 4, 5, 6]
μ λμΈνμ
( μ¬λ¬κ°μ§ νμ
μ μμ΄ν
μ λμμ κ°μ§λ λ°°μ΄ )
|
(λ²ν°μ»¬λ°) : jsμ ||
μ κ°μ
const uni: (string | number)[] = ['one', 2, 'three', 4, 'five']
const numbers: (string | number)[] = [1, 2, 3, 4, 5]
const month: (string | number)[] = ['jan', 'feb', 'mar', 'apr']
const uni: Array<string | number> = ['one', 2, 'three', 4, 'five']
const numbers: Array<string | number> = [1, 2, 3, 4, 5]
const month: Array<string | number> = ['jan', 'feb', 'mar', 'apr']
μΈν°νμ΄μ€ / 컀μ€ν
νμ
- λ°°μ΄ μμ κ°μ²΄κ° λ€μ΄κ° λ
interface User {
name: string,
age: number,
isValid: boolean
}
const userArr: User[] = [
{
name: 'Neo',
age: 85,
isValid: true,
},
{
name: 'Lewis',
age: 52,
isValid: false,
}
]
νΉμ ν κ°μΌλ‘ νμ
μ§μ
let ten: 10[]
ten = [10]
ten = [10, 10, 10]
ten.push(10)
ten.push(11)
πνν
- μ ν΄μ§ νμ
μ κ³ μ λ κΈΈμ΄ λ°°μ΄μ νν
let tuple: [string, number]
tuple = ['a', 1];
tuple = ['a', 1, 2];
tuple = [1, 'a'];
let users: [number, string, boolean][]
users = [[1, "NEO", true], [2, "Even", false], [2, "Lewis", true]]
- κΈΈμ΄μ νμ
μ΄ μ ν΄μ ΈμμΌλ μ§μ ν λΉμμλ§ μ ν¨ν¨
- pushλ, spliceλ±μ λ©μλλ‘ μΈν΄ λ°°μ΄μ΄ λ³νλ κ±Έ λ§μ μλ μλ€
let tuple: [string, number]
tuple = ['a', 1]
tuple = ['b', 2]
tuple.push(3)
console.log(tuple)
πAny
- λͺ¨λ νμ
μ μλ―Έ
- λΆκ°νΌνκ² νμ
μ λ¨μΈν μ μλ κ²½μ°λ₯Ό μ μΈνκ³ κ°λ₯ν μ°μ§ μλκ²μ΄ μ’μ
let any: any = 123
any = 'Hello world'
any = {}
any = null
πunknown
- μ μ μλ νμ
μ μλ―Έ
- Anyμ²λΌ μ΄λ€ νμ
μ κ°λ ν λΉλ μ μμ§λ§ unknownμ λ€λ₯Έ νμ
μ ν λΉν μλ μλ€
let a: any = 123
let u: unknown = 123
const boo1: boolean = a
const any1: any = u
const num1: number = u
const num2: number = u as number
πObject
- κΈ°λ³Έμ μΌλ‘
typeof
μ°μ°μκ° 'object'λ‘ λ΄ννλ λͺ¨λ νμ
μ λνλ
- μ¬μ©μ κΆμ₯νμ§μμ (λ무 ν¬κ΄μ )
let obj:object = {};
let arr:object = [];
let func:object = function() {};
let dat:object = new Date();
- λ μ νν νμ
μ§μ μ μν΄ λ€μκ³Ό κ°μ΄ κ°μ²΄μμ± νμ
μ κ°λ³μ§μ
- κ·Έλ¬λ μ΄λν κ°μ ννμ κ°μ²΄κ° λ°λ³΅λ λ νμ
μ μ¬νμ© ν μ μκΈ°λλ¬Έμ κΆμ₯λμ§ μμ
const userA: {name: string, age: number} = {
name: "Heropy",
age: 12
}
const userB: {name: string, age: number} = {
name: "Neo",
age: 35
}
- νμ
μ μ¬νμ©μ μν΄
interface
λ type
μ νμ©νλ κ²μ΄ μ’μ
interface User {
name: string,
age: number
}
const userA: User = {
name: 'HEROPY',
age: 123
}
const userB: User = {
name: 'Neo',
age: 85,
email: 'abc@gmail.com'
}
πVoid
- κ°μ λ°ννμ§ μλ ν¨μ (= 리ν΄κ°μ΄ μλ ν¨μ)
- κ°μ λ°ννμ§ μλ ν¨μμ λ°νκ°μ κΈ°λ³Έμ μΌλ‘
undefined
μ΄λ , νμ
μ undefined
λ‘ μ§μ ν μλ μλ€
function hello():void {
console.log('hello')
}
function bye():undefined {
console.log('bye')
}
function unde():undefined {
return undefined
}
πNever
- μ λλ‘ λ°μνμ§ μμ κ°
never
νμ
μλ μ΄λ ν νμ
λ μ μ© ν μ μλ€
- μ½λ μμ±μμ μ§μ μ¬μ© ν μΌμ μμκ²μ... (but μλ¬λ©μΈμ§μμ μμ£Ό λ±μ₯!)
- νμ
μ μ§μ μ μΈνμ§ μμΌλ©΄
never
νμ
μ΄ μλ ν λΉ λ¨
const arr: [] = []
arr.push(3)
πμ λμΈ Union
- 2κ°μ΄μμ νμ
μ νμ©
|
(vertical bar)λ‘ νμ
μ ꡬλΆ
- 'or' μ μλ―Έ (
||
)μ κ°μ
let union: (string | number)
union = 'hello'
union = 123
union = true
πμΈν°μΉμ
&
λ₯Ό μ¬μ©ν΄ 2κ° μ΄μμ νμ
μ μ‘°ν©
- 'and'μ μλ―Έ (
&&
)μ κ°μ
interface User {
name: string,
age: number
}
interface Validation {
isValid: boolean
}
const heropy: User & Validation = {
name: 'heropy',
age: 24,
isValid: true
}
πν¨μ Function
- λ°©λ²1
- νμ΄νν¨μλ₯Ό μ΄μ©ν΄ νμ
μ μ§μ
- μΈμμ νμ
κ³Ό λ°νκ°μ νμ
μ μ
λ ₯
const myFunc: (arg1: number, arg2: number) => number = function (x, y) {
return x + y
}
const yourFunc: () => void = function() {
console.log('hi')
}
- λ°©λ²2
- μΈν°νμ΄μ€λ₯Ό νμ©ν μ μλ€
interface MyFunc {
(x: number, y: number): number
}
const myFunc: Myfunc = function (x, y) {
return x + y
}
interface User {
name: string
age: number
getName(m: string) : string
}
const heropy: User = {
name: 'Heropy',
age: 85,
getName(message) {
return `${message}, ${this.name}`
}
}