변수 / 타입 / 함수 / 조건문
google calendar 확인(O) / 출석 후 Toy problem(O) / 과제(X) / 복습(O) / 블로그 작성(O)
- 변수란?: 숫자 또는 문자열과 같은 값의 컨테이너, 상황에 따라 값이 바뀌며 이름을 지정할 수 있다.
- 선언:
let name;
변수name이 선언됨 let외에도 const도 있다.- 할당:
name = 'Hwang'
변수 name에 Hwang이라는 값을 주는 것
let name = 'Hwang'
선언과 할당을 동시에 가능
변수는 동일한 변수를 이용해 대입할 수 있다.
let sum = 1;
sum = sum + 2;
우항의 sum에 할당된 값에 +2를 한 결과가 좌항의 sum에 할당될 값 3이 되고
sum = sum + 3;
위와 같은 결과가 반복되어...
sum = sum + 4;
console.log(sum)
10 이라는 결과가 나온다. 위의 식 '=' 같다는 의미X
선언한 변수는 또 다시 선언하지 않는다.
let sum = 1;
sum = sum + 2;
좌항의 sum에는 let을 넣지 않는다
할당이 없는 변수
let sum;
console.log(sum) // undefined
'undefined'는 해당 변수의 자료형이 정해지지 않았음을 나타낸다.
변수는 빈칸이 있으면 안된다. 단어의 첫글자를 대문자로 > Camel Case
let getTriangleArea =(base, height);
변수에는 다양한 타입이 있다.
숫자(number), 문자열(string), 불리언(boolean), 자료형(compound), undefined, 함수(function)
자료형 : 숫자, 문자열, 불리언 타입이 서로 섞인 타입. 배열[], 객체{}
let age = 30;
값이 숫자일 때 let name = 'Hwang';
값이 문자일 때let value = (1 < 2); console.log(value) // true
let person = {
name : 'Hwang',
age : 30
isMan : true
}
let age; console.log(age) // undefined
- 함수란?: 어떤 목적을 가진 작업들을 수행하는 코드들이 모인 블록
- 함수는 keyword / name / parameter / body 로 구성되어 있음
함수의 이름
괄호 안에서 쉼표로 분리된 함수의 매개변수 목록
중괄호 { } 안에서 함수를 정의하는 자바스크립트 표현
함수 선언식
function getSquareArea(width, height) {
let squareArea = (width * height)
return squareArea
}
함수 표현식
let getSquareArea = function (width, height) {
let squareArea = (width * height)
return squareArea
}
화살표 함수
let getSquareArea = (width, height) => {
let squareArea = (width * height)
return squareArea
}
let getSquareArea = (width, height) => width * height;
function getSquareArea(width, height) {
let squareArea = (width * height)
return squareArea
} //width, height는 매게변수(parameter)이다.
getSquareArea(3,4) // 값은 12이며 3,4는 인자(argument)이다.
- 조건문은 어떠한 조건을 판별하는 기준을 만드는 것
- 반드시 비교 연산자가 필요
- 비교의 결과는 늘 Boolean > true or false임
=== !== / == != 비교
같다 같지않다 / 같다 같지않다 로 동일하게 보이지만 '===' 과 '!=='은 엄격한 비교로써 변수의 타입까지 고려한다.
1 == '1' //true
1 === '1' // false
1 != '1' // false
1 !== '1' // true
if (조건1) {
//조건1이 통과할 경우
} else if (조건2) {
//조건1 통과x
//조건2가 통과할 경우
} else {
//모든 조건 통과x
}
두가지 조건이 한번에 적용되는 경우?
논리 연산자를 사용
&& = and
|| = or
!() = not
논리연산자 ! not
!false // true
!(3>2) // false
!undefined // 'true' undefined는 falsy한 값을 가지고 있기 때문에 true로 바뀜
! 'hello' // 'false' string은 truthy한 값을 가지기 때문에 false로 바뀜
기억해야할 falsy 값
if 문에서 false로 변환되므로, if 구문이 실행되지 않음
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('') 아무런 값이 없는 string
수업을 들을 때는 어렵지 않다고 생각했고 블로그를 쓸 때 나의 멍청함을 깨달았다. 배움의 양도 질도 모두 월등히 높은 선배님들의 블로그를 보며 열심히 해야겠다는 생각이 든다.
참고사이트
https://velog.io/@hoony0802/6
https://developer.mozilla.org/ko/docs/Learn/JavaScript/First_steps/Variables
https://developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Functions
JavaScript - 데이터 타입(Data Type)에 대해 알아보자
https://ko.javascript.info/logical-operators
함수 선언식 vs 함수 표현식