22.7.28

커피 내리는 그냥 사람·2022년 7월 28일
0

항해99

목록 보기
6/108

JavaScript 문법 뽀개기 1주차

1. 강의 전반

자바스크립트 기본 내용은 많이 숙지한 상태라 반복문, 조건문까지는 무난히 따라감. class, 객체 쪽에서 생소한 문법이 있어서 정리하고 넘어가고자 함.

2. 정리하고 넘어갈 곳 1(클래스)

클래스 선언 문법

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

생성자(constructor)

객체가 생성될 때 JS 내부에서 호출되는 함수라고 생각하기

this.속성

객체 자신 의미. 뒤에는 속성(name, price, company)

전에 this가 이해되지 않았는데 이번 기회에 this가 무엇인지 이해하게 됨

객체 만들기

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

new 키워드를 이용한다.

console.log(notebook) // Notebook { name: 'Macbook', price: 2000000, company: 'Apple' } 
console.log(notebook.name) // MacBook
consoel.log(notebook.price) // 2000000
console.log(notebokk.company) // Apple

클래스 메소드(e.g printInfo)

// 클래스 선언
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 computer = {
	name: 'Apple Macbook',
	price: 20000,
	printInfo: function () {
		console.log(`상품명: ${this.name}, 가격: ${this.price}`)
	}
}

computer.printInfo()

2. 정리하고 넘어갈 곳 2(for+응용)

문제 : 배열을 만들고 합계와 평균 구하기

고민한 점 : for문을 돌면서 리스트 내부의 내용물이 합해지는 것 고민. 0인 변수 만든 후 요소를 추출하여 하나씩 더해가는 것 생각

내 답안 :

const price = [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]
let sum = 0
count = price.length 
for (let i = 0; i < price.length; i++) {
  sum += price[i]
}
console.log(sum)
console.log(sum / count)

교안 답안

const priceList = [1000, 2000, 5000, 7000, 10000, 9000, 3000, 15000, 20000, 17000]
let sum = 0

for (const price of priceList) {
	sum += price
}

const avg = sum / priceList.length
console.log(`합계: ${sum}, 평균: ${avg}`)

차이점 : for문 단순화 과정 사용 유무(4번째 줄)

profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글