new Array()
new가 들어간 함수는 생성사 함수라고 한다. 혹은 자바스크립트 클래스 라고 불림
const fruits = ['Apple', 'Banana', 'Cherry']
이 []괄호가 있는 것은 배열 리터럴방식이라고 한다.
const fruits = ['Apple', 'Banana', 'Cherry']
console.log(fruits.length)
fruits.length는 지금 과일이 3개 사과,바나나,체리 이렇게 3개의 과일이 있으니, length는 과일의 길이를 나타내는 것으로 fruits.length를 출력하면 3 이라는 결과값을 얻을 수 있는 것이다.
// const fruits = ['Apple', 'Banana', 'Cherry']
console.log(fruits.length)
console.log(fruits[fruits.length - 1])
체리가 몇 번 째에 있는 지 모를 때, 체리를 찾아내는 방법은 fruits.length - 1 이렇게 코드를 적으면 3-1은 2 니까 2번째 체리를 찾아낼 수 있는 방법이다.
const user = new Object()
user.name = 'Tteum',
user.age = 20
console.log(user)
new Object 함수를 사용해 user에 값을 넣고 출력하면
이러한 결과값이 나온다. 이 결과값은 키벨류 형태라고 했다.
key: value
function User() {
this.name = 'Tteum',
this.age = 20
}
const user = new User()
console.log(user)
함수 내부에서 this라는 키워드를 사용해서 출력할 수 있는 방법도 있다.
new를 사용한 코드와 this를 사용한 코드에 결과값은 this에 User가 앞에 붙어있는 건 빼고 다 똑같다.
const user = {
name: 'Tteum',
age: 20
}
엄청 짧은 코드로 간단하게 나타낸 코드인데도 불구하고 new, this를 사용한 코드와 결과값이 같다. 앞으로는 객체데이터를 사용할 땐 이렇게 간단하게 코드를 짜면 될 거 같다.
console.log(user.name) 결과 값은 Tteum이 나온다 이것은 점 표기법
console.log(user['name']) 이 결과 값도 Tteum 이것은 대괄호 표기법이다.
key 라는 변수에 name을 선언하고, 대괄호 표기법에 변수로 준 key를 넣어주면,
Tteum 이름이 출력이 된다.
const user = {
name: "Tteum",
age: 20
}
분명 이름을 먼저 선언해 주었는데 결과 값은 나이부터 나온다. 객체는 고유해서 순서라는 개념이 없다.
parent라는 객체를 배웠는데
이러한 코드를 짜주고, 결과 값은
이렇게 나온다. parent도 하나의 객체 이므로,
console.log(userB.parent)를 출력하면 userA에 있는 결과 값만 나오게 되고, userB.parent.name을 출력하면 userA에 있는 이름이 만이 출력이 된다.
첫번째는 점표기법으로 나타낸 것이고, 두번째는 대괄호 표기법으로 나타낸 것이다.!
이 코드는 복수형태로 나타낸 코드이다. users안에 userA, userB를 주고 console.log에 점표기법과, 대괄호 표기법을 사용한 코드이다. 결과 값은 0번째 즉, userA에 있는 데이터를 불러오는 것이니까, Tteum이라는 userA안에 있는 이름을 불러오는 것이다.
hello라는 이름으로 함수를 만들어주고 console.log에 Hello!를 출력해 주고
hello() 이렇게 Call 호출을 해 주면 입력값엔 Hello! 가 출력이 된다.
호출하는데에 hello()에 소괄호가 없다면 하나의 함수 데이터라는 것이다.
이렇게 console.log(hello)를 출력하면
주황색 f라는 것이 나오는데, 이것은 함수를 의미하는 것이다.
이렇게 getNumber 값에 123을 주고 console,log(getNumber)을 출력하면 또 다시
이런 함수로 된 결과 값이 나오고,
console.log(getNumber())로 출력을 하면,
123이라는 결과값을 얻게 된다.
typeof getNumber로 출력을 하면, 결과값엔 function이라는 결과값이 나온다. 즉 함수라는 데이터를 말한다.
typeof getNumber()로 출력하면 Number이라는 결과값을 얻게 된다.
getNumber데이터를 호출한 것이니까 123 숫자니까, Number라는 결과가 나오는 것이다.
이렇게 익명함수를 주고 출력을 해도 값은 다 똑같다. ()호출을 하면 number가 나오고, 호출을 하지 않으면 function이 나오는 것이다.
b()호출에 안에 123을 넣고 매개변수에 c를 넣고 console.log(c)를 넣으면 123 이라는 결과 값이 나온다. 또, b(a)를 넣으면 함수로 들어가
이런 결과값이 나온다.
그리고 이제 c는 하나의 함수로 되니 c()라고 호출을 하면 A라는 결과 값이 나오게 되는 것이다.
함수는 많이 중요한 내용이니 더 자세하고 복습이 많이 필요할 거 같다.