변수
그냥 let 쓰자
변수 콘솔에 출력
console.log("x = ${x}")
함수 작성법
함수 선언식
function ([매개변수1], ... ){
}
함수 표현식은 다음과 같다
let add = (x, y) => {
return x + y
}
함수 표현식이란, 실행 흐름이 해당 부분에 도달했을 때 함수가 생성되고 사용 가능해지는 함수 표현법을 말한다.
자바스크립트에서 함수는 행위를 나타내는 것이 아닌, 변수에 담을 수 있는 값이라고 생각하면 좋다. 자스에서 함수는 변수에 담거나 반환값으로 출력하거나 파라미터에 넣을 수 있다.
const console_age = (age) => {
console.log("제 나이는 ${age}세 입니다");
}
const foo = (func, age) => {
func(age)
}
foo(console_age, 23);
foo 함수는 다른 함수를 매개변수로 받고 있다.
배열 출력과 map
자바스크립트에서는 map 함수를 통해 기존 배열에 변주를 주어 새로운 배열을 만들 수 있다
let arr = [2, 3, 4, 5]
let newArr = arr.map(x => x*x);
newArr에는 4, 9, 16, 25 값이 담긴다
const meal(){
breakfast : "시리얼",
lunch : ["밥", "국"],
lunch_print : function() {
this.lunch.map(x => {
concole.log(x)
});
}
}
자바스크립트와 비슷하지만 타입을 보다 명확하게 명시해줘야 한다
let name: string = "이름"
let arr1: number[] = [2, 3, 4] // 숫자로 된 배열
let arr2: Array<number> = [1, 2, 3] // 숫자로 된 배열2
function add(x : number, y:number): void{
console.add(x + y);
}
함수의 파라미터와 리턴값에도 타입을 지정한다
var x : null = null;
var y : undefined = undefined;
// var x : null = 1; 오류남
let meal: any = "짜장면";
// 방법 1
let mealLength1: number = (<string>meal).length;
// 방법 2
let mealLenth2: number = (meal as string).lenth;
meal이라는 변수는 any(아무 타입의 값이나 할당 가능)로 선언되었지만, 타입 단언을 통해 string이라고 자바스크립트에게 알려주고 있음
interface student{
name: string;
age?: number;
major: string[];
}
const a: student = {
name: "홍길동",
major: ["미디어", "컴공"]
}
인터페이스 안에서 뒤에 ?가 붙은 걸 선택적 프로퍼티라고 한다. 인터페이스로 객체를 만들 때 있어도 되고 없어도 되는 값이다
아래처럼 배열로도 가능하다
const student_arr : Array<student> = [
{
name: "학생 1",
age: 20,
major: ["경영", 미디어]
},
{
name: "학생 2",
major: ["행정", "경영"]
}
]
student_arr은 student 타입의 객체로 이루어진 배열이다