🐣표현식을 문자열에 입력할 떄:
let num = 1;
let str = `Hello + ${num}` + /nWorld!` //줄바꿈: /n
🐣🐣객체 생성 방법은 세 가지이다.
🐣(1) 생성자 함수
const user = new Object ()
user.name = 'Apple'
user.age = 5
console.log(user)
🐣(2) 👉function 함수에 this.속성을 용해 User 함수 정의하기
👉User 함수 호출
👉호출한 함수를 새로운 변수에 저장하기
function User () {
this.name = 'Apple'
this.age = 5
}
// new User() 함수 호출하기
const user = new User()
console.log(user)
🐣(3) 리터럴 방식으로 만들기⭐ simple
const user = {
name: 'Apple',
age: 5
}
console.log(user)
🐣🐣객체 속성 조회 방법은 두 가지이다.
🐣(1) 점 표기법
console.log(user.name)
🐣(2) 대괄호 표기법⭐
console.log(user['name'])
(1)점 표기법은 표기가 단순하다는 것이 장점이다.
(1)점 표기법은 객체 데이터를 연속으로 사용할 수 있다는 것이 장점이다.const userA = { name: 'Apple', age: 40 } const userB = { name: 'pineapple', age: 10, parent: userA } console.log(userB.parent.name) // expected output: Apple
🐣따라서, 어떻게 코드를 짜느냐에 따라 객체의 속성 뿐만 아니라 다른 객체, 다른 객체의 속성까지도 사용할 수 있게 된다.
✋잠깐❗❗객체 데이터는 대괄호 표기법으로도 표기할 수 있음을 배웠다. 이를 다르게 말하면.... '(2)대괄호 표기법 또한 가능하다'이다.console.log(userB['parent']['name']) // expected output: Apple
(2)대괄호 표기법은 객체 속성 대신에 객체 속성을 선언한 변수를 입력해줄 수도 있어 코드 유용성이 더 높다는 것이 장점이다. 이러한 특징들 때문에 대괄호를 많이 쓰는 것 같다.
const user = { name: 'Apple', age: 5 } const key1 = 'name' console.log(key) // expected output: Apple const key2 = 'age' console.log(age) // expected output: 5
⭐⭐번외로, Array를 이용한 객체, 객체 속성 조회 방법도 있다. 새로운 변수에 배열 데이터를 선언하는데 이때 배열 데이터의 item으로 객체 데이터를 저장해주는 것이다.
const userA = {
name: 'Apple',
age: 40
}
const userB = {
name: 'pineapple',
age: 10,
parent: userA
}
const users_AB = [userA, userB]
console.log(users_AB) // expected output: object data A+B
console.log(users_AB[0]) // expected output: userA
console.log(users_AB[1].name) // expected output: pineapple
console.log(users_AB[1]['name']) // expected output: pineapple
🐣함수 선언 및 출력 과정 엿보기🐣
const a = function () { // 1. ()는 매개변수다.
console.log('Apple')
}
const b = function (c) { // expected output: 3-1. 함수a 로직 / 3-2. Apple
console.log(c) // 3-1. 인수a는 함수b의 매개변수c에 할당되고 console.log를 통해 출력된다.
c() // 3-2. 인수a가 할당된 매개변수c를 호출한다. = 함수 a를 호출한다.
}
b(a) // 2. 함수a는 함수b의 인수로 들어간다.
공감하며 읽었습니다. 좋은 글 감사드립니다.