[혼공JS] 11기 5주차

수댕이·2024년 2월 4일
0

혼공학습단

목록 보기
14/15
post-thumbnail

🗓️ TIL (Today I Learned) 날짜

읽은 날: 2024.01.26
기록한 날: 2024.02.04

🔎 읽은 범위

Chapter 06

📖 책에서 기억하고 싶은 내용

01. 객체의 기본

객체(Object)

  • 현실 세계에 존재하는 사물
  • 속성과 메소드를 가지는 모든 것
  • typeOf(): 자료형을 반환하는 함수
  • 키와 값의 형태

속성

  • 객체 내부에 있는 값
  • 함수 자료형인 속성 = 메소드
  • 자기 자신이 가진 속성 = this 키워드

동적으로 객체 속성 조절

  • 동적으로 객체 속성 추가: JSON.stringify
  • 동적으로 객체 속성 제거: delete 객체.속성

02. 객체의 속성과 메소드 사용하기

객체 자료형

  • 함수도 객체: 속성을 가짐, 일급 객체
  • 배열인지 확인하는 메소드: 배열.isArray()

기본 자료형

  • 실체가 있는 것 중 객체가 아닌 것 => 객체가 아니므로 속성을 가질 수 없음
  • 숫자, 문자열, 불
  • 기본 자료형을 객체로 선언: const 객체 = new 객체 자료형의 이름();
  • 일시적으로 객체로 승급 가능

Prototype

  • 프로토타입 객체에 속성과 메소드 추가 시 모든 객체에서 그 속성과 메소드 사용 가능
  • ex) 제곱연산자(**)

메소드

  • valueOf(): 객체 내부에서 값을 꺼내 쓰는 것임을 명확히 함.
  • indexOf(): 문자열이나 배열의 내부에 있는 자료 확인 시 사용.
  • toFixed(): 소수점 이하의 n자리까지 출력할 때 사용.
  • Number.isNaN(): 숫자가 NaN(Not a Number)인지 확인.
  • Number.isFinite(): 숫자가 무한인지 확인.
  • trim(): 문자열 양쪽 끝의 공백 제거.
  • split(): 문자열 특정 기호로 자르기.
  • JSON.stringify(): 자바스크립트 객체를 JSON문자열로 변환.
  • JSON.parse(): JSON문자열을 자바스크립트 객체로 전개.
  • Math메소드: 수학과 관련된 메소드

03. 객체의 배열 고급

속성의 존재 여부 확인

  • 조건문으로 속성의 값이 undefind인지 확인
  • || 연산자를 사용해서 조건문의 길이를 줄일 수 있음. 단, 특정 속성이 false로 변환될 수 있는 값이 아니라는 전제
  • ex) object.name || console.log('name 속성이 없습니다')
  • ex) object.name = object.name || '제목 미정'

다중 할당 - 배열 편

[식별자1, 식별자2, ...] = 배열

  • 배열의 크기는 같을 필요 없다.
  • const 키워드로 사용 가능

다중 할당 - 객체 편

  • { 속성 이름, 속성 이름 } = 객체
  • { 식별자=속성이름, 식별자=속성이름 } = 객체

배열 전개 연산자

얕은 복사

  • 복사했을 때 다른 이름이 붙을 뿐 인 것.
  • 이전 배열에 종속적

깊은 복사

  • 복사한 두 배열이 완전히 독립적
  • 전개연산자 사용
    - [...배열]
    - {...객체}

😊 오늘 읽은 소감 & 떠오르는 생각

  • 라이브러리에 대한 내용은 가볍게 읽고 넘어갔다!
  • 이번 주는 내용도 많고 중요한 부분이라 읽는데 오래 걸렸다.

✅ 미션

기본 미션

객체, 속성, 메소드가 무엇인지 설명하기

객체(Object)

  • 현실 세계에 존재하는 사물
  • 속성과 메소드를 가지는 모든 것
  • typeOf(): 자료형을 반환하는 함수
  • 키와 값의 형태

속성(Property)

  • 객체 내부에 있는 값, 개체가 가지는 성질
  • 함수 자료형인 속성 = 메소드
  • 자기 자신이 가진 속성 = this 키워드

메소드(Method)

  • 객체가 하는 일, 객체가 할 수 있는 일

선택 미션

p. 288 확인 문제 3번 풀고, 풀이 과정 설명하기

문제
모질라 문서에서 Math와 관련된 내용을 읽고 사인 90도의 값을 구해보세요. 참고로 사인 90도는 1입니다. 아주 단순하게 생각해서 구현하면 0.8939966636005579라는 결과가 나옵니다. 0.8939966636005579가 나왔다면 왜 그런지, 그리고 이를 어떻게 해야 제대로 사용할 수 있는지 구글 검색 등을 통해서 알아보고 코드를 수정하세요.

코드

<script>
  	const degree = 90;

	// 괄호 내부에 라디안의 단위를 넣어야 함!!
	const radian = degree * (Math.PI / 180);
	console.log(Math.sin(radian));
</script>

MDN - Math.PI

profile
공부하자

0개의 댓글