TIL 4일차

주땡이·2023년 9월 6일

프리코스 2기

목록 보기
4/6

핵심 내용

  1. JavaScript 소개
  2. 변수와 상수
  3. 데이터 타입
  4. 형 변환
  5. 연산자
  6. 함수(~매개변수)

오늘 알게 된 내용

  1. JavaScript
  • 객체 지향 프로그래밍 지원
  • 동적 타이핑
  • 함수형 프로그래밍 지원
  1. 변수
    -변수 이름 : 저장된 값의 고유 이름
  • 변수 값 : 변수에 저장된 값

  • 변수 할당 : 변수에 값을 저장하는 행위

  • 변수 선언 : 변수를 사용하기 위해 컴퓨터에 알리는 행위(var(재선언 o, 재할당 o), let(재선언 x, 재할당 o), const(재선언 x, 재할당 x, 상수에 선언))

  • 변수 참조 : 변수에 할당된 값을 읽어오는것

  1. 데이터 타입
    1. 숫자(Number) : 정수(Integer), 실수(Float), 지수(Exponential), NaN(Not a Number), 양의 무한대(Infinity), 음의 무한대(-Infinity)
    1. 문자열(String) : '', ""로 감싸서 표현함,
      문자열 메서드 : 문자열의 길이(.length), 결합(.concat), 자르기(.subsrt, .slice), 검색(.search), 대체(.replace), 분할(.split)
    1. 불리언(Boolean) : 참(true), 거짓(false)을 나타내는 데이터 타입
    1. Undefined : 값이 할당되지 않은 변수
    1. Null : 값이 존재하지 않음
    1. 객체(Object) : 속성과 메서드를 가지는 컨테이너, {}를 사용함
    1. 배열(Array) : 데이터를 순서대로 저장함, [] 를 사용하여 배열 생성
  1. 형 변환
    1. 암시적 형 변환(implict coercion)
  • 1-1. 문자열 + 다른 데이터 => 문자열

  • 1-2. 빈 문자열('')/ 공백 문자열(' ') => 0으로 변환

  • 1-3. 0/ 빈 문자열('')/ 공백 문자열(' ')/ null/ undefined/ NaN => false로 변환

    1. 명시적 형 변환(explicit coercion)
  • 2-1.

String(123)	 // '123'
String(true)	  // 'true'
String(false) 	// 'false'
String(null) 	// 'null'
String(undefined)	 // 'undefined'
String({}) 	// '[objecti Object]'
  • 2-2
Number('123') // 123
Number('') // 0
Number(' ') // 0
Number(true) // 1
Number(false) // 0
  1. 연산자
    1. 산술 연산자
  • 1-1. 더하기 연산자 : +

  • 1-2. 빼기 연산자 : -

  • 1-3. 곱하기 연산자 : *

  • 1-4. 나누기 연산자 : /

  • 1-5. 나머지 연산자 : %

    1. 할당 연산자
  • 2-1. 등호 연산자 : =

  • 2-2. 더하기 등호 연산자 : +=

  • 2-3. 빼기 등호 연산자 : -=

  • 2-4. 나누기 등호 연산자 : *=

  • 2-5. 나누기 등호 연산자 : /=

  • 2-6. 나머지 등호 연산자 : %=

    1. 비교 연산자
  • 3-1. 일치 연산자 : ===

  • 3-2. 불일치 연산자 : !==

  • 3-3. 작다 연산자 : <

  • 3-4. 크다 연산자 : >

  • 3-5. 작거나 같다 연산자 : <=

  • 3-6. 크거나 같다 연산자 : >=

    1. 논리 연산자
  • 4-1. 논리곱 연산자 : &&

  • 4-2. 논리합 연산자 : ||

  • 4-3. 논리부정 연산자 : !

    1. 삼항 연산자
  • 5-1. 삼항 연산자 : ? :

    1. 타입 연산자
  • 6-1. typeof 연산자 :

console.log(typeof "123") // "string"
console.log(typeof 123) // "number"
console.log(typeof ture) // "boolean"
  1. 함수(function)
    1. 함수 정의하기
  • 1-1. 함수 선언문
function add(x, y) {
	return x + y;
}
console.log(add(2,3)) // 5
  • 1-2. 함수 표현식
let add = function(x, y) {
	return x+ y
}
console.log(add(2, 3)) // 5
    1. 함수 호출하기
  • 2-1. 함수 호출하기 : 함수를 사용한다는 말과 같으며, 함수명(입력값)으로 호출할 수 있다.
add(2, 3)
  • 2-2. 함수 매개변수 : add라는 함수가 x와 y라는 두 개의 매개변수를 받아들이고, 함수를 호출할 때 매개변수에 값을 전달함

  • 2-3. 함수 반환값 : add라는 함수가 매개변수를 받고, 이를 더한 값을 반환함, 함수를 호출한 결과값을 변수에 할당하여 사용 가능함

오늘 어떤 문제가 있었는지

  1. 함수를 호출하는 방법에 있어서 강사의 코드와 나의 코드가 값은 같지만 형태가 다른 문제가 발생. 어떤 방식이 어떨 때 어떻게 사용되는지에 대한 궁금증이 생김

어떻게 해결했고, 무엇을 시도했는지

  1. 함수를 호출할 때 같은 결과값을 가지고 여러 방법으로 호출할 수 있음
let add2 = function (x, y) {
    return x + y
}

// add2를 가지고 10과 20을 더한 값을 출력해보세요!
console.log(add2(10, 20))

// 아래는 강사 코드
let functionResult2 = add2(10, 20)
console.log(functionResult2)
  • 1-1. 내가 작성한 함수 호출 방법 : 코드를 간결하게 작성하여 함수를 호출할 수 있음
  • 1-2. 강사가 작성한 함수 호출 방법 : 변수에 함수를 담아 다른 곳에서도(해당 변수를 사용할 수 있는 범위(지역?) 내에서) 쉽게 함수를 호출할 수 있음

--> 두 가지 방법 모두 사용해도 결과값은 같으므로 가능하긴 함. 상황에 따라 유연하게 사용하면 될듯

profile
내가 보려고 만들었습니당

0개의 댓글