ν¨μλ μ ν리μΌμ΄μ μ μ½λλ₯Ό ꡬμ±νλ κΈ°λ³Έ μμμ΄λ€. νμ μ€ν¬λ¦½νΈμμ ν¨μλ ν΄λμ€λ λ€μμ€νμ΄μ€ λ΄μ μ μΈν μ μκ³ , λλ‘ λͺ¨λΌλ‘μ μ¬μ©λλ€. νμ μ€ν¬λ¦½νΈλ μλ°μ€ν¬λ¦½νΈμμ ν¨μλ₯Ό μ μΈνλ κ²κ³Ό λμΌν λ°©μμΌλ‘ μ μΈν΄ μ¬μ©μκ° μνλ λ¨μ κΈ°λ₯μ μνν μ μλ€.
νμ μ€ν¬λ¦½νΈμ λ€λ₯Έ μ μ΄ μλ€λ©΄ ν¨μμ 맀κ°λ³μλ λ°νκ°μ νμ μ μ§μ ν΄ νμ μμ μ±μ κ°νν μ μλ€.
function myFunction(a, b)
{
}
let resultMultiplication = function(a, b) {return a * b};
- ν¨μμ 맀κ°λ³μμ λν νμ κ²μ¦(νμ μ΄ μΌμΉνμ§ μμΌλ©΄ νμ μΊμ€ν )
- ν¨μμ μ°μ°μ μνν νμ λ°νκ°μ λν νμ μΊμ€ν
- ν¨μ νΈμΆ κ²°κ³Όμ λν νμ μΊμ€ν
function max(x: number, y: number): number{ }
κΈ°λ³Έ μ΄κΈ°ν 맀κ°λ³μλ ν¨μμ νΉμ 맀κ°λ³μμ μΈμκ° μ λ¬λμ§ μμΌλ©΄ 맀κ°λ³μμ μ€μ λ μ΄κΈ°κ°μΌλ‘ κ°μ μ΄κΈ°ν νλ κΈ°λ₯μ΄λ€.
y: number = 2
λλ¨Έμ§ λ§€κ°λ³μ (rest parameter)λ ES6μμ μ μλ νΉμ§. κ°μκ° μ ν΄μ§μ§ μμ μΈμλ₯Ό λ°°μ΄λ‘ λ°μ μ μλ κΈ°λ₯
function concat(...restParameter) {}
μ ν 맀κ°λ³μλ μ λ¬ν μΈμμ κ°μκ° 0κ° μ΄μ 1κ° λ―Έλ§μΌλ‘ μ νν λ μ¬μ©.
function sum(a: number, b?: number): number {}
κΈ°λ³Έ μ΄κΈ°ν 맀κ°λ³μλ₯Ό μ΄μ©ν΄ μΈμκ° μλ΅λΌ μμ λ 맀κ°λ³μμ μ΄κΈ°κ°μ μ€μ ν μ μμλ€. νμ§λ§ μ ν 맀κ°λ³μμ μ΄κΉκ°μ€μ μ κ°μ΄ μ¬μ©ν μ μλ€.
ν¨μλͺ μ κ°μ§λ§, 맀κ°λ³μμ λ°ν νμ μ΄ λ€λ₯Έ ν¨μλ₯Ό μ¬λ¬ κ° μ μΈν μ μλ νΉμ§.
function add(a: string, b: string): string;
function add(a: number, b: number): number;
function add(a: any, b: any): any {
return a + b;
}
function pick(x: {name: string}): number;
function pick(x: {month: number}): string;
function pick(x: number): numer;
function pick(x: any): any;
λ₯Ό μ λμΈ νμ ννλ‘ νννλ©΄
function pick(x: number | {month: number} | {name: string}) : string | number;
function pick(x: any): any;
λ‘ ννν μ μλ€.
() => {};
νμ΄ν ν¨μλ μ΅λͺ ν¨μλ‘μ 맀κ°λ³μ λͺ©λ‘, λ±λ±ν νμ΄ν, ν¨μ λΈλ‘μΌλ‘ ꡬμ±λλ€.
맀κ°λ³μκ° νλλ μμ λλ ()λ‘ νννλ€. 맀κ°λ³μκ° 1κ°μΌ λλ μκ΄νΈλ₯Ό μλ΅ν μ μλ€.
νμ΄ν ν¨μλ₯Ό νΈμΆν λλ νμ΄ν ν¨μκ° ν λΉλ λ³μλ₯Ό μ΄μ©ν΄ νΈμΆνλ€.
μ€κ΄νΈλ₯Ό μ¬μ©ν κ²½μ° λ°νκ°μ΄ μμΌλ©΄ return ν€μλλ₯Ό μ΄μ©ν΄ λ°νν΄μΌ νλ€. λ§μ½ μ€κ΄νΈλ₯Ό μ¬μ©ν λ return ν€μλλ₯Ό μλ΅νλ©΄ νμ΄ν ν¨μμ λ°νκ°μ΄ μ‘΄μ¬νμ§ μκ² λλ€.
μ½λλ₯Ό μ€ννλ©΄ λ³λμ μΈλΆ νΈμΆμμ΄ μ체μ μΌλ‘ νΈμΆλλ ν¨μμ΄λ€.
(x => {x;})(3);
let iif = (x => {return x;})(3);
νμ΄ν ν¨μλ νν° λ©μλμ μ μ©ν μ μλ€.
νν° λ©μλλ λ°°μ΄μμ 쑰건μ λ§λ μμλ₯Ό μΆμΆνλλ° μ¬μ©νλ€. νν° λ©μλλ₯Ό μ¬μ©ν λ°©λ²μ forλ¬Έμ μνν΄ μ‘°κ±΄μ λ§λ μμλ₯Ό μΆμΆνλ λ°©λ²λ³΄λ€ νΈλ¦¬νκ³ μ μ§λ³΄μμ μ’λ€.
let numberList = [1, 2, 3, 4, 5];
numberList = numberList.filter(n => {
return n % 2 === 0;
});
λ°°μ΄ κ°μ ν©μ μμ½κ² ꡬν λλ 리λμ€ λ©μλ(reduce method)λ₯Ό μ΄μν μ μλ€. 리λμ€ λ©μλλ λμ°κΈ°μ μ리μ²λΌ λ°°μ΄μ μμλ₯Ό μΌμͺ½μμ μ€λ₯Έμͺ½μΌλ‘ λν΄λκ°λ©΄μ λμ°λ κ°μ μ²λ¦¬ν μ μλ ν¨μμ΄λ€.
[1, 2, 3, 4, 5].reduce((a, b) => { return a + b;});
//a λ λμ κ°
//b λ μΉ΄μ΄ν° κ°
μ΄μ λμ κ°μ νμ΄ν ν¨μκ° λ°νν κ°μ λμ ν΄ λμ κ°μ΄κ³ , νμ¬ κ°μ λ°°μ΄μ μννλ©΄μ νμ¬ μμΉλ₯Ό κ°λ¦¬ν€λ μΉ΄μ΄ν° κ°μ΄λ€.
κ°μ²΄ 리ν°λ΄(object literal)μ μ¬λ¬ μμ±κ³Ό κ°μ ν λ¨μλ‘ λ¬Άμ΄μ ννν μ μλ κ°μ²΄μ΄λ€. κ°μ²΄ 리ν°λ΄μ μμ±μ ν€κ° λκ³ , κ°μ μ«μλ§ λ¬Έμμ΄ λΏλ§ μ리λ μ¬μ©μκ° μ μν κ°μ²΄λ ν λΉν μ μλ€
ν¨μλ κ°μ²΄μ΄λ―λ‘ ν¨μλ μμ±κ°μ ν λΉν μ μλ€.
let person = {
name: "Happy",
hello: function (name2: string) {
console.log("Hello, " + this.name + name2);
}
};
person.hello("World");
// μ€ν κ²°κ³Ό : Hello, HappyWorld