
let 변수이름 = 값
- 데이터를 표현하기 위한 방법으로 기본타입(Primitive)과 객체(Object)타입으로 나뉜다.
연산이란?
문자열 붙이기
백틱(``)을 사용하여 간결하게 문자열 데이터(+ 를 사용하지 않고 문자열 붙이기가 가능)를 표현함
🔥 const pirce = 1000
console. log((백틱)삼각김밥은 ${price}원입니다(백틱))
===
console.log(’삼각김밥은’ + ‘price’ + ‘원입니다’)
산술연산자(Numeric operators)
증감연산자(Increment and Decrement operators)
let count = 2const post = count++ or const post = ++countconst post = count
count = count + 1
🔥 consoe.log((백틱)count: ${count}, post: ${post}(백틱)
// count: 3, post: 2
count = count + 1
const post = count
🔥 console.log((백)count: ${count}, post: ${post}(틱))
//count: 3, post: 3
대입연산자 (Assignment operators)
어떤 값을 어떤 변수에 할당한다는 표현
= or +=,-=
🔥 totalPrice += myPrice // totalPrice = totalPrice + myPrice
🔥 totalPrice -= myPrice // totalPrice = totalPrice - myPrice
boolean을 return한다는 공통점 있음
비교연산자(Comparison operators)
console.log(1 < 2) // 1이 2보다 작은가? trueconsole.log(2 <= 2) // 2가 2보다 작거나 같은가? trueconsole.log(1 > 2) // 1이 2보다 큰가? falseconsole.log(1 >= 2) // 1이 2보다 크거나 같은가? false논리연산자(Logical operators)
||(or)
&&(and)
!(not)
let a = true
let b = true
console.log(a && b) // true && true 이므로 결과값:true console.log(a || b) // true || true 이므로 결과값:true
a= false console.log(a && b) // false && true 이므로 결과값:false console.log(a || b) // false || true 이므로 결과값:true
b= false console.log(a && b) // false && false 이므로 결과값:false console.log(a || b) // false || false 이므로 결과값:false
console.log(!a) // !false 이므로 결과값:true
일치연산자
특정 조건을 만족했을 때만 해당 코드를 실행할 수 있도록 하는 구문. 조건을 boolean데이터(비교연산자, 논리연산자, 일치연산자)라 봐주면 좋다.
구조
if (조건) {조건을 만족할 때 실행할 코드}else
else if
const age = 18
if (shoesPrice < 20) {
console.log('청소년입니다.')
} else if (shoesPrice <= 8) {
console.log('어린입니다.')
} else {
console.log('성인입니다..')
}while (조건) { 조건을 만족할 때 실행할 코드 }
let age = 20
while (age< 25) {
console.log(`${age}.은 20대초반입니다.`)
age++ // 증감연산자를 활용해서 나이를 변화시킨다.
}
for (begin; condition; step) { 조건을 만족할 때 실행할 코드 }for (let age = 26; age < 30; age++) {
console.log(`${age}도 정도면 적당한 나이입니다.`)
}for (let number = 1; number <= 10; number++) {
if (number % 2 === 0) {
console.log(`숫자${number}는 짝수입니다`);
} else {
console.log(`숫자${number}는 홀수입니다`);
}
}// 예시1
function 알림창열기( ){
doucument.getElementById('alert').style.display = 'block';
}
알림창열기();
function 알림창열기(구멍=변수느낌){
doucument.getElementById('alert').style.display = 구멍;
}
알림창열기('block'); //구멍안에 'block'이 들어감
알림창열기('none'); //구멍안에 'none'이 들어감//예시 2
function plus( ){
2 + 1
}
function plus2( ){
2 + 2
}
function plus3( ){
2 + 3
}
// 각각
plus( );
plus2( );
plus3( );function plus(구멍=매개변수?){
2 + 구멍
}
plus(1=인수?);
plus(2);
plus(3);function 함수명( ) {
console.log('사랑합니다');
}
console.log(함수명( )); //
or
function calCulate(a) {
sum = 1 + a;
return sum;
}
const 변수명 = 선언한 함수명( )let 변수명 = 선언한 함수명( )const a = 1000
// 함수의 호출
const avg1 = calculateAvg(a)function calculateAvg(price1, price2, price3) {
const avg = (price1 + price2 + price3) / 3
return avg
}
const priceA = 1000
const priceB = 2000
const priceC = 3000
const avg = calculateAvg(priceA, priceB, priceC)
console.log(`평균가격: ${avg}`)객체(Object)타입
const notebook1Name = 'Macbook'
const notebook1Price = 2000000
const notebook1Company = 'Apple' 이 아니라let Notebook = {
name: 'Macbook',
price: 2000000,
company: 'Apple'
} 클래스란
클래스(Class)선언
class Notebook {
constructor(name, price, company) {
this.name = name
this.price = price
this.company = company
}
}class 키워드와 클래스명
class는 클래스를 선언하는 문구. 그 뒤에 바로 클래스 명이 나온다. 클래스명도 마치 변수명처럼 내가 표현하고자 하는 데이터를 잘 나타낼 수 있는 이름으로 하는 것이 좋다.
생성자 (constructor)
중괄호 안에는 생성자를 적음. 생성자가 함수와 비슷한 듯? 이 생성자는 말 그대로 나중에 객체가 '생성'이 될 때 자바스크립트 내부에서 호출이 되는 함수라고 생각. 생성자를 좀 더 살펴보면(생성자의 역할은?) 3개의 매개변수를 정의했고 각각의 이름은 name, price, company.
this(자기자신이라는데 클래스명??)와 속성(property)
생성자의 바디를 보면 this 라는 키워드가 등장. 이 this는 클래스를 사용해 만들어질 객체 자기 자신을 의미하고 this 뒤에 붙는 name, price, company는 객체의 속성입니다.
생성자의 바디에서는 함수 호출시 전달할 매개변수 name, price, compay(인자=값을 가진 변수)를 객체의 속성 name, price, company에 각각 할당하고 있는 것입니다.
객체 생성
const notebook1 = new Notebook('MacBook', 2000000, 'Apple')클래스에 대한 설명(클래스자체에 대한 이해를 도와줌) by youtube 코딩애플님
// 이 object 형식을 비슷하게 많이 만들 경우 일일이 쓰기엔 시간낭비.
// 함수처럼 만들기로 했음 그것이 Class
var nunu = {
q : 'consume';
w : 'snowball':
}
var garen = {
q : 'strike';
w : 'courage';
}
function 기계() {
this.q = 'consume';
this.w = 'snowball';
}
var nunu = new 기계()
var garen = new 기계() = 첫 번째 코드 식 // 무려 코드 줄이 3줄 단축!let nunu = {
q : 'consume';
w : 'snowball':
}
let garen = {
q : 'strike';
w : 'courage';
}
class 기계=Hero {
constructor(name, price, company) {
this.q = 'consume';
this.w = 'snowball';
}
}
const nunu = new Hero()
const garen = new Hero()클래스에 대한 설명(constructor에 대한 이해를 도와줌) by 생활코딩님
// 객체의 초기상태?
{
this.name = name
this.price = price
this.company = company
}constructor(name, price, company) {
this.name = name
this.price = price
this.company = company
}메소드(method)
메소드명( ) {호출시 실행할 코드}// 클래스 선언
class Product {
constructor(name, price) {
this.name = name
this.price = price
}
// 메소드 선언
printInfo() {
console.log(`상품명: ${this.name}, 가격: ${this.price}원`)
}
}class명.메소드명( )객체 리터럴(object Literal)
const computer = {
name: 'Apple Macbook',
price: 20000,
printInfo: function () {
console.log(`상품명: ${this.name}, 가격: ${this.price}원`)
}
}
computer.printInfo()Array라는 클래스를 활용해서 순서를 나타내는 객체를 만들었다고 생각
배열을 바로 만드는 방법
// 1번째 방법
const arr1 = new Array(1, 2, 3, 4, 5)
// 2번째 방법
const arr2 = [1, 2, 3, 4, 5]
여기서 인덱스(index)는 배열 안의 데이터들이 자리잡은 순서. 특이한 점은 인덱스가 1이 아닌 0부터 시작한다는 것.
const fruits = ['딸기', '당근', '수박', '참외', '메론']
console.log(fruits[0]) // o번 인덱스를 통해서 데이터에 접근. 딸기
console.log(fruits[1]) // 1번 인덱스를 통해서 데이터에 접근. 당근
console.log(fruits[2]) // 2번 인덱스를 통해서 데이터에 접근. 수박
console.log(fruits[3]) // 3번 인덱스를 통해서 데이터에 접근. 참외
console.log(fruits[4]) // 4번 인덱스를 통해서 데이터에 접근. 메론
const fruits = ['딸기', '당근', '수박', '참외', '메론']
console.log(fruits.length) // 5을 출력const fruits = ['딸기', '당근', '수박', '참외', '메론']
fruits.push('배') // 배열의 마지막에 배 추가
console.log(fruits) // ultraviolet이 추가된 rainbowColors 출력
fruits.pop() // 배열의 마지막 요소 배를 제거
console.log(fruits) // 배가 제거된 fruits 출력const fruits = ['딸기', '당근', '수박', '참외', '메론']
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i])
}const fruits = ['딸기', '당근', '수박', '참외', '메론']
for (const fruit of fruits) {
console.log(fruit)
} 배열에서 요소들을 차례대로 하나씩 찾아 fruit 변수에 할당. 자동으로 배열의 끝까지 반복문이 실행됨. 그래서 쓰기 편함.const priceList = [1000, 2000, 4000, 8000, 16000]
let sum = 0
for (const price of priceList) {
sum += price
}
const avg = sum / priceList.length
console.log(`합계: ${sum}, 평균: ${avg}`)