TIL#15

박감자·2024년 10월 8일

TIL

목록 보기
15/34
post-thumbnail

Javascript 강의 1주차 완

오늘은 무려 3시간 가까이의 강의를 끝냈는데, 중간중간 집중이 끊겨버려서... ㅇㅅㅇ....

오늘은 강의 들으면서 새롭게 알게된 내용을 정리해보려고 한다.

var, let, const

위의 세 방법으로 변수 혹은 상수를 지정할 수 있다는 것은 코딩하면서 알고 있던 사실이지만 사실 큰 차이는 잘 알 지 못했다. 간단히 요약하자면

varletconst
재선언oxx
할당ooo

var : 재선언과 할당이 자유로우며 중복해서 선언 가능, 대신 가장 최근에 선언/할당된 값이 우선시 됨
let : 할당이 자유롭지만 재선언은 안됨; 한 번 선언한 값을 대신 여러번 할당하여 많은 변수 선언 없이 사용 가능
const : 한번 선언하고 값을 지정한 순간 프로그램 내에서는 값을 바꿀 수 없다. (재선언/할당 둘 다 안됨)

// 변수 선언
var a = 1;
let b = 3;
const c = 4;

// 변수 재선언
var a = 2;

// let과 const는 재선언 안됨
// let b = 5;	>> error
// const c = 7; >> error

// 변수 할당
a = 5;
b =10;

// const는 재할당 안됨
// c = 20;	>> error

형변환

코딩을 하다보면 자동으로 형변환이 되는 경우는 많이 봐왔지만 자세한 메커니즘은 몰랐는데, 연산기호마다 바뀐다는 사실이 흥미로웠다.

// + 연산자 형변환 (문자열 우선)
let result1 = 1 + "2";	// 문자열 "12"
let result2 = "1" + true;	// 문자열 "1true"

// - 혹은 * 연산자 (숫자 우선)
let result3 = 1 - "2";		// 숫자 -1
let result4 = "2" * "3";	// 숫자 6

명시적 형변환은 String(), Number(), Boolean() 이런식으로 변환하고 싶은 타입의 변환함수를 활용하면 된다.

화살표 함수

Python에서 JavaScript로 넘어왔을 때 가장 힘들었던 부분이 화살표 함수였다. Python도 비슷한 기능은 있는데 함수를 통째로 줄일 수 있는 건 처음 본 느낌이랄까.

Python은 그나마 비슷한 느낌의 메커니즘이라면 배열 혹은 딕셔너리 타입의 traversing을 간소화한 list-comprehension이 있다.

newlist = [x for x in range(10)]
# 이렇게 하면 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 배열이 만들어진다

JS그게 아니라, 짧은 함수면 그걸 한줄로 지정할 수 있다는 점이 흥미로웠다. 화살표 함수가 그 역할을 해 줄 수 있다고...

// 기본함수 ES6 문법
function add(a, b) {
  return a + b;
}

// 화살표함수
// 1-1. 기본적인 화살표 함수
let arrowFunc01 = (a, b) => {
    return a + b;
}

// 1-2. 한 줄로 (함수 안의 코드가 한 줄일때만)
let arrowFunc02 = (a, b) => a + b;

익숙해지는데 조금 걸릴 것 같은 느낌이 든다ㅠㅠ

마치며...

JavaScript 문법 1주차 강의는 개인적으로 복습하는 느낌에 가까웠기에 처음 안 사실들만 잊지 않도록 정리해봤다. 내일은 휴일이다ㅏㅏ

profile
코딩하는 감자

0개의 댓글