개발일지_8일차

pou·2022년 11월 23일
0

오늘도 어김없이 자바스크립트 , 자료구조와 알고리즘 을 공부하는 날이다 자바스크립트는 아직 1주차 강의만 공개된탓에 기존에 공부했던것도있고 어렵지도않고 쉽지도 않아서 말 그대로 할만하다 !(오늘 1주차 강의를 끝내버리고 내일부터는 자로구조와 알고리즘에 집중하고자 한다 그 이유는 ...)
근데 자료구조와 알고리즘은 진짜 너무 어렵다 어제보다 더 어려워진거같다 . 꾸역꾸역 집어삼키고있는데 살짝만 건들이면 다 뱉어낼거 같은 느낌.. 시행착오를 겪으며 익숙해져야겠다.. 포기하지말고 하나씩 차근차근 나아가자 !

오늘 공부한것))

1.자바스크립트

● 함수 function 함수명(매게변수){}
const 변수명 = 선언한 함수명(매게변수)

● 클래스와 객체
(클래스를 사람이라고 표현하고 객체를 여러사람들이라고 표현 이런방법으로 이해했다.)

클래스 선언시

class Notebook {
	constructor(name, price, company) {
		this.name = name
		this.price = price
		this.company = company
	}
}

(위와 같이 class 키워드 입력후 클래스명 {} constructor 생성자 키워드 매게변수에 name price company를 입력해줌 그 외 ,속성 )
constructor 은 객체를 생성할때 사용하는 함수?

객체 생성시

const 변수명 = new 클래스명(생성자에서 정의한 매개변수들...)

const notebook1 = new Notebook('MacBook', 2000000, 'Apple')

메소드

// 클래스 선언
class Product {
	constructor(name, price) {
		this.name = name
		this.price = price
	}

	printInfo() {
		console.log(`상품명: ${this.name}, 가격: ${this.price}원`)
	}
}

// 객체 생성 및 메소드 호출
const notebook = new Product('Apple Macbook', 2000000)
notebook.printInfo() // 상품명: Apple Macbook, 가격: 2000000원

● 객체 리티컬?

const 변수명 = {

속성명: 데이터,

메소드명: function () { 메소드 호출시 실행할 코드들 }

}

(이런 방법으로 사용하는것같은데. 편리하긴해도 첫번째 방법으로 진행하려 한다. 이 방법으로는 재사용성이 불편하다고한다? 이러한 방법이 있다는것만 알아두자.)

● 배열

배열이란?

  • 같은 타입의 데이터들을 하나의 변수에 할당하여 관리하기 위해 사용하는 데이터 타입

배열 선언 방법

// 1번째 방법
const arr1 = new Array(1, 2, 3, 4, 5)

// 2번째 방법
const arr2 = [1, 2, 3, 4, 5]

(1번째 방법은 객체를 만드는 방법과 동일하다. 그냥 알아두자
일반적으로 2번째 방법을 쓴다고한다 !.)

배열의 각 속성? 기능들

(배열은 속성이 있는 데이터이기때문에 당연히 인덱스0부터 시작한다)

push() pop() length() 등 기본 속성 존재
배열의 요소들을 하나씩 출력해서 쓴다고 할때
반복문은 여러 종류가 있지만 배열에 한해서는 for of문을 활용하자

const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']

for (const color of rainbowColors) {
	console.log(color)
}

2.자료구조, 알고리즘

● 어레이와 링크드리스트
Array
특정 원소 조회 : O(1)
중간 삽입 삭제 : O(N)
linkedlist
특정 원소 조회 : O(N)
중간 삽입 삭제 : O(1)

(각각의 장점을 살려 자료구조와 알고리즘을 생각하기 !)
● 클래스
js와 같이 배운개념으로
클래스가 사람이라면 객체는 특정사람들 ~

class Person: # 클래스 person 선언
    def __init__(self, param_name):
    
        print("hihihi", self)
        self.name = param_name

    def talk(self):
        print("안녕하세요 저는", self.name, "입니다")

init(self,)는 자바스크립트에서의 생성자(constructor)의미
self는 this의미?
self 는 객체 자기 자신을 가리킵니다!
self 를 사용해서 객체에 데이터를 쌓을 수가 있습니다.

● 메소드
클래스 내부의 함수는 메소드(method)
위 코드의 talk 부분이 메소드

profile
좋은 개발자를 향해

0개의 댓글