# * Primitive types
TypeScriptλ μλμ κ°μ΄ λ³μλͺ λ€μ νμ (μλ£ν) μ λͺ μνλ κ²μΌλ‘ νμ μ μ μΈν μ μλ€.
# λ³μ μ μΈ
- μ μΈν νμ μ λ§μ§ μλ κ°μ ν λΉνλ©΄ μ»΄νμΌ μμ μ μλ¬κ° λ°μνλ€.
let foo: string = "Hello";
let bar: number = true; //TS2322: Type 'true' is not assignable to type 'number'.
1
2
3
2
3
# νμ μ μΈ λ°©λ²
- ν¨μμ 맀κ°λ³μμ λ°νκ°μ λν νμ μ μΈ λ°©λ²μ μλμ κ°λ€.
- μΌλ° λ³μμ λ§μ°¬κ°μ§λ‘ μ μΈλ νμ μ μΌμΉνμ§ μλ κ°μ΄ μ£Όμ΄μ§λ©΄ μλ¬κ° λ°μνλ€.
//ν¨μ μ μΈμ
function multiply(x: number, y: number) {
return x * y;
}
//ν¨μ ννμ
const multiply2 = (x: number, y: number): number => x * y;
const multiply3 = (x: string, y: number): number => x * y;
console.log(multiply(10, 5));
console.log(multiply2(8, 3));
console.log(multiply2(true, 1)); //error TS2345: Argument of type 'true' is not assignable to parameter of type 'number'.
console.log(multiply3('foo', 1)); //error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# νμ μ’ λ₯
TypeScriptλ ES5, ES6μ μμ μ§ν©(superset)μ΄λ―λ‘ μλ°μ€ν¬λ¦½νΈ νμ μ κ·Έλλ‘ μ¬μ©ν μ μλ€. μλ°μ€ν¬λ¦½νΈμ νμ μ΄μΈμλ TypeScript κ³ μ μ νμ μ΄ μΆκ°λ‘ μ 곡λλ€.
νμ | JS | TS | μ€λͺ |
---|---|---|---|
boolean | O | O | trueμ false |
null | O | O | κ°μ΄ μλ€λ κ²μ λͺ μ |
undefined | O | O | κ°μ ν λΉνμ§ μμ λ³μμ μ΄κΈ°κ° |
number | O | O | μ«μ(μ μμ μ€μ, Infinity, NaN) |
string | O | O | λ¬Έμμ΄ |
symbol | O | O | κ³ μ νκ³ μμ λΆκ°λ₯ν λ°μ΄ν° νμ μ΄λ©° μ£Όλ‘ κ°μ²΄ νλ‘νΌν°μ μλ³μλ‘ μ¬μ©(ES6) |
object | O | O | κ°μ²΄ν(μ°Έμ‘°ν) |
array | O | O | λ°°μ΄ |
tuple | O | κ³ μ λ μμ μλ§νΌμ μλ£νμ 미리 μ μΈν λ°°μ΄μ νν | |
enum | O | μ΄κ±°ν, μ«μ κ° μ§ν©μ μ΄λ¦μ μ μ₯ν κ² | |
any | O | νμ μΆλ‘ ν μ μκ±°λ νμ 체ν¬κ° νμμλ λ³μμ μ¬μ©, μ΄λ€ νμ μ κ°μ΄λΌλ ν λΉ κ°λ₯ | |
void | O | μΌλ°μ μΌλ‘ ν¨μμμ λ°νκ°μ΄ μμλ μ¬μ© | |
never | O | κ²°μ½ λ°μνμ§ μλ κ° |