[서버_weeek1] 자바스크립트, 타입스크립트 기초
자바스크립트
-
변수
- var - 함수 레벨 스코프
- let, const - 블록 레벨 스코프
그냥 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);
변수
- var - 함수 레벨 스코프
- let, const - 블록 레벨 스코프
그냥 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);
}
함수의 파라미터와 리턴값에도 타입을 지정한다
- object vs Object
- Object: 자바스크립트의 모든 타입을 받을 수 있음. 자바 Object랑 비슷한듯?
- onject: 원시타입 제외 모든 타입을 받을 수 있음
원시타입 - 데이터를 복사해서 값을 넣음
참조타입 - 데이터의 주소를 참조함
- null과 undefined는 이름 그대로가 타입이다
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 타입의 객체로 이루어진 배열이다
Author And Source
이 문제에 관하여([서버_weeek1] 자바스크립트, 타입스크립트 기초), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tmdgk4902/서버weeek1-자바스크립트-타입스크립트-기초저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)