[TIL] Day2

공부중인 개발자·2021년 4월 6일
0

TIL

목록 보기
2/64
post-thumbnail

· What?

변수 / 타입 / 함수 / 조건문

· 매일 해야하는 것

google calendar 확인(O) / 출석 후 Toy problem(O) / 과제(X) / 복습(O) / 블로그 작성(O)

· 오늘 배운것

배운것을 기록은 했으나 틀릴 가능성이 매우 많고 수정할 내용이 대다수입니다.

1. 변수

  • 변수란?: 숫자 또는 문자열과 같은 값의 컨테이너, 상황에 따라 값이 바뀌며 이름을 지정할 수 있다.
  • 선언: 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)
자료형 : 숫자, 문자열, 불리언 타입이 서로 섞인 타입. 배열[], 객체{}

  • number(숫자) : 정수, 실수같은 숫자를 나타내는데 사용
    (NaN은 Not a number로 숫자가 아님을 나타냄)
    let age = 30; 값이 숫자일 때
  • string(문자열) : 텍스트 데이터를 나타내는데 사용
    let name = 'Hwang'; 값이 문자일 때
  • boolean(참거짓) : 논리적인 요소를 나타내고, true 와 false 의 두 가지 값만 사용
    let value = (1 < 2); console.log(value) // true
  • compound(자료형) : 위의 타입들이 섞여서 사용
	let person = {
	name : 'Hwang',
	age : 30
	isMan : true
	}
  • undefined : 값을 할당하지 않은 변수는 undefined 값을 가짐
    let age; console.log(age) // undefined

2.함수

  • 함수란?: 어떤 목적을 가진 작업들을 수행하는 코드들이 모인 블록
  • 함수는 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)이다.

3.조건문

  • 조건문은 어떠한 조건을 판별하는 기준을 만드는 것
  • 반드시 비교 연산자가 필요
  • 비교의 결과는 늘 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 함수 표현식

profile
열심히 공부하자

0개의 댓글