💡 이번에 배운 내용
- Section1.
웹 프론트엔드 개발의 기초지식을 기반으로 스스로 단순한 Web App을 만들 수 있다.- Unit2. Javascript 기초: 자바스크립트의 가장 기초적인 개념인 변수, 타입, 함수에 대해 배운다.
예전에 Javascript의 기초에 대해 공부한 적이 있다.
하지만 그 때는 이것을 잘 몰랐다:
오늘 이 몰랐던 점들을 제대로 짚으며 공부할 수 있었다.
뭔가 한층 더 단단해지고 든든하게 출발하는 느낌이다!
그리고 공부하면서 기존에는 가지지 않았던 의문점들도 착실하게 알고 넘어갔다.
(추가로 궁금했던 점은 '질문해보기'에 정리했다.)
이번에 제대로 공부하고 추가로 알고리즘 문제풀이, 실습도 했다.
다시는 기초 개념 때문에 넘어지는 일이 없길!
변수, 할당, 선언, 타입, 함수, 함수 선언식, 함수 표현식, 화살표 함수
변수명에는 공백을 쓸 수 없다.
변수의 두번째 단어부터 첫글자를 대문자로 써서 표현하는 방법을 Camel Case라고 한다.
변수를 선언한다는 것은 메모리에 데이터를 넣을 공간을 확보한다는 것을 의미한다.
메모리의 크기는 동일하다..!
선언은 한번만, 'let'을 사용해 선언한다.
선언한 변수에 '='를 사용하여 원하는 값(데이터)를 할당한다.
선언과 동시에 할당이 가능하다.
표현식(expression)에서 변수를 사용할 수 있고 결과도 변수에 할당할 수 있다.
만약 선언만하고 할당이 없다면 선언한 변수의 값은 'undefined'이다.
typeof '변수 또는 값'
을 사용하면 아래와 같이 변수, 값의 타입을 확인할 수 있다!
console.log(typeof 2); //number
console.log(typeof '2'); //string
console.log(typeof 2<4); //true
함수는 반복되는 작업을 효율적으로 실행하고 재사용하기 위해 사용한다.
함수는 작업. 기능의 한 단위로, 함수를 호출하여 입력된 내용을 실행할 수 있다.
함수에는 구체적인 입력값과 출력값이 있다.
아래와 같이 3가지 방법으로 함수를 선언할 수 있다.
아래에 소개할 예제는 사각형을 구하는 함수로 base는 밑변, height는 높이이다.
여기서 base, height는 매개변수(parameter)라고 하며,
호출시 매개변수 자리에 입력하는 값을 전달인자(argument)라고 한다.
function myRectangleArea(base, height){
let rectangleArea=base*height;
return rectangleArea;
}
//base, height는 매개변수
myRectangleArea(3,4); //전달인자는 3,4이고 출력값은 12
let myRectangleArea=function (base, height){
let rectangleArea=base*height;
return rectangleArea;
}
let myRectangleArea= (base, height) => {
let rectangleArea=base*height;
return rectangleArea;
}
화살표 함수는 return문만 있으면 아래처럼 간단하게 표현할 수 있다.
결과는 중괄호{} 로 감싸지 않도록 주의한다.
하지만 2줄이 넘어가면 가독성, 명시성을 위해 분명하게 작성하는 것이 좋다.
let myRectangleArea=function (base, height) => base*height;
1. let과 const의 차이는?
* '블록' 범위가 뭔지 대강 알고있다. 나중에 학습할 때 좀 더 자세히 짚고 넘어갈 예정이다.
출처: javascript MDN(let링크, const링크)
2. 타입에는 null도 있다고 한다. null과 undefined의 차이는 뭘까?
3. 함수 호출시 인자를 매개변수와 다르게 입력하면 어떻게 되는가?
개발자 도구를 통해 직접 해보자:)
4. 함수의 keyword란?
아래의 사항들을 함수 선언시 키워드라고 한다.
5. let=1, let=2; 가 오류인 이유
이대로 입력하면 아래와 같이 오류가 뜬다.
Syntax Error: let is disallowed as a lexically bound name
왜냐하면, let은 ','에 이어서 선언할 수 없기 때문이다.
let을 하나 빼던가 ','대신 ';'을 사용해야 한다.
let num1=1; let num2=2; //이상없음
let num1=1, num2=2; //이상없음
let num1=1, let num2=2; //오류!
출처: stackoverflow