ex. 숫자 표시 alert(3);
ex. 문자 표시 alert("3");
똑같이 숫자를 사용했다고 하더라도 따옴표의 존재가 해당 데이터가 숫자인지 문자인지 구분한다.
다만 자바스크립트는 숫자가 문자열 사이에 있다면 숫자도 문자열로 인식한다.
문자는 문자가 아닌 "문자열"이라는 단어로 표현된다. (string)
문자는 한 글자 한 글자가 하나의 데이터로 표현되기 때문이다.
ex. "coding" = c,o,d,i,n,g 라는 데이터가 모여서 문자열을 구성한다.
따옴표의 존재는 해당 데이터가 문자인 것을 의미한다.
따옴표의 시작점부터 끝점 사이에 들어간 데이터는 문자로 인식한다.
그렇다면 글 중간에 따옴표를 써야하면 어떻게 되는가?
역슬래시("\")를 사용한다.
"everyone's coding club" = 이렇게 표시한 경우, 문자 데이터를 인식하는 시작점이 "기 때문에 중간에 들어간 '는 문제가 안된다.
(시작점은 큰 따옴표, 작은 따옴표 둘 다 가능)
'everyone's coding club'이라고 할 경우 's에 붙은 작은 따옴표에서 데이터가 끝난다.
이런 경우에 역슬래시를 사용한다.
'everyone\'s coding club'
줄바꿈은 "\n"으로 표시된다.
"everyone's coding club"에서
"everyone's\n coding club"이라고 표현할 경우,
"everyone's
coding club"
으로 표시된다.
// 한줄 주석
/* 여러줄 주석 (8/), (/8)로 사용
; 명령이 끝났다는 것을 명시
= 대입한다는 것을 의미
== 대체로 같다 (1 == "1" true)
=== 엄밀히 같다 (1 == "1" false)
!= 같지 않음을 의미
let temperature = 20
while (temperature < 25) {
console.log(`${temperature}도 정도면 적당한 온도입니다.`)
temperature++ // 증감연산자를 활용해서 온도를 변화시킵니다.
}
for
for (let temperature = 20; temperature < 25; temperature++) {
console.log(`${temperature}도 정도면 적당한 온도입니다.`)
}
for문이 실행되는 순서:
현재 temperature는 20이다, temperature가 25이하여야 한다, temperature의 값은 1씩 증가한다.
첫번째 실행 시, temperature의 값이 20부터 시작해서 21, 22, 23, 24까지 진행됐을 때 해당 코드는 종료된다.
변수의 i++, ++i
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
console.log(rainbowColors[0]) // o번 인덱스를 통해서 데이터에 접근. red
console.log(rainbowColors[1]) // 1번 인덱스를 통해서 데이터에 접근. orage
console.log(rainbowColors[2]) // 2번 인덱스를 통해서 데이터에 접근. yellow
console.log(rainbowColors[3]) // 3번 인덱스를 통해서 데이터에 접근. green
console.log(rainbowColors[4]) // 4번 인덱스를 통해서 데이터에 접근. blue
console.log(rainbowColors[5]) // 5번 인덱스를 통해서 데이터에 접근. indigo
console.log(rainbowColors[6]) // 6번 인덱스를 통해서 데이터에 접근. violet
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
rainbowColors.push('ultraviolet') // 배열의 마지막에 ultarviolet 추가
console.log(rainbowColors) // ultraviolet이 추가된 rainbowColors 출력
rainbowColors.pop() // 배열의 마지막 요소 ultraviolet을 제거
console.log(rainbowColors) // ultraviolet이 제거된 rainbowColors 출력
const rainbowColors = ['red', 'orange', 'yellow', 'green', 'blue', 'indigo', 'violet']
for (let i = 0; i < rainbowColors.length; i++) {
console.log(rainbowColors[i])
}
class Notebook {
constructor(name, price, company) {
this.name = name
this.price = price
this.company = company
}
}
클래스로 객체 선언 후, {}안에 변수를 지정하는 것을 생성자(constructor)이라고 한다.
객체 생성 후 해당 객체를 사용할때 필요한 생성자의 매개변수(ex. name, price, company)를 지정한다.
해당 예시는 Notebook이라는 클래스에 생성자를 이용하려 name, price, company라는 매개변수를 정의하고, 이 매개변수에 각각 this.name, this.price, this.company라는 속성을 할당한다.
생성자의 바디에 this키워드. this는 클래스를 사용해 만들어질 객체 자기 자신을 의미.
this 뒤에 붙는 name, price, company = 객체의 속성.
생성자의 바디는 함수 호출시 해당 함수에게 전달할 매개변수 name, price, compay를 객체의 속성 name, price, company에 각각 할당하고 있는 것.
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
// 클래스 선언
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()