-
Notifications
You must be signed in to change notification settings - Fork 0
/
grammar.js
116 lines (59 loc) · 1.69 KB
/
grammar.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// 1. 함수 선언문
// 함수 이름생략 불가능
function add(x,y) {
return x + y
}
// 2-1. 함수 표현식1: 함수이름 생략
var add = function(x,y){
return x + y
}
// 2-2. 함수 표현식1: 함수 이름 작성
var add = function plus(x,y){
return x + y
}
// 3. Function 생성자 함수
var add = new Function('x','y', 'return x + y')
// 4. 화살표 함수
var add = (x,y) => x + y
// var, let, const 차이점
var a = 5
if(true) {
var a = 1
}
console.log(a); // output=1
// 객체 리터럴 방식
const data = {
name: '권보아',
birht: {
month: 5,
date: 6}
}
console.log(data.birht.month) // output: 5
console.log(data['birht'].date) // output: 6
console.log(data['birht']['date'])// output: 6
delete data.name // output: true
console.log(data) // output: {birht: {…}} 이고 하단박스 클릭시 birht:{month: 5, date: 6} [[Prototype]]: Object
data.name = '권보아' // output: '권보아'
console.log(data) // output: {birht: {…}, name: '권보아'}
// 객체 참조
// <1> 객체를 변수에 담기: 서로 참조하고 값에 영향을 줌
const data = {
name: '최미아',
age: 22
}
const ref = data
ref.age = 30
console.log(ref.age) // output: 30
// <2> 변수를 변수에 담기: 서로 참조하지 않고 값에 영향을 주지 않음
let age = 22
let data = age
age = 30
console.log(data) // output: 22
// new 생성자와 생성자 함수
function User(name){
this.name = name,
this.isAmdin = false
}
let user = new User("김하이")
console.log(user.name) // output: 김하이 (얼러트 창에 뜸)
console.log(user.isAdmin) // output: false (얼러트 창에 뜸)