sayHello: () => {
console.log(`my name is ${this.name}`)
},// 화살표 함수는 this를 바인딩 하지 않는다
// 즉, 이런 상황에선 화살표 함수를 쓰면 안 된다.
person.sayHello();
- person 객체의 name에 접근하고 싶으면 this를 사용
- 중괄호(scope) 안에서의 this는 항상 자기 자신을 가르킴
- 즉 위 코드에서 this = person
const arr = [
function(a,b) {
return a + b
},//0 번째 요소
function(a,b) {
return a - b
}//1 번째 요소
]
// 배열은 무조건 0번 부터 시작
//더하기
console.log(arr[0](1, 3))//4
//빼기
console.log(arr[1](4, 9))//-5
function multiplyBy (num) {
return function(x) {
return x * num;
}
}
// 첫 function의 매개변수 num(숫자)로 받는다
// 리턴으로 받은 두 번째 function의 매개변수는 x로 받는다
function add(x, y) {
return x + y
}
const multiplyByTwo = multiplyBy(2)
// multiplyBy(2) = function (x) {
// return x * 2
// }
const multiplyByThree = multiplyBy(3)
// multiplyBy(3) = function (x) {
// return x * 3
// }
console.log(multiplyByTwo(4))//8
console.log(multiplyByThree(4))//12
//console.log(multiplyByTwo/Three(x))
// x값에 숫자 기입
const result = add(multiplyByTwo(5),multiplyByThree(3))
console.log(`final => ${result}`)// (5*2) + (3*3) = 19
const myMap = new Map();
myMap.set('key', 'value'); // 기본 구조 (항상 set을 통해 )
...
...
myMap.get = new Map();
const newMap = new Map()
newMap.set('one', 1)
newMap.set('two', 2)
newMap.set('three', 3)
console.log(newMap.keys()) // [Map Iterator] { 'one', 'two', 'three' }
for(const key of newMap.keys()) {
console.log(key)//one, two, three
}// key에 'one', 'two', 'three' 가 배정
for(const value of newMap.values()) {
console.log(value)//1, 2, 3
}// value에 1, 2, 3 이 배정
for (const entry of newMap.entries()) {
console.log(entry)//['one', 1] ['two', 2] ['three', 3]
}
console.log(newMap.size)// 맵의 사이즈(길이)
console.log(newMap.has('key값'))// key 기반 검색
//.has -> set에 특정 값이 존재하는지 확인하는 method
// if 조건문이나 3항 연산자와 많이 사용된다
const mySet = new Set()
mySet.add('value1')// value값만 넣어준다. 왜? 중복x , 유일한 요소, 집합이라서
mySet.add('value2')
mySet.add('value2')
// 3개를 넣었는데 결과가 2인 이유는 같은 값을 2번 넣었기에 중복되어 추가가 안 된다
console.log(mySet.size)//2
console.log(mySet.has('value1'))//true
console.log(mySet.has('value2'))//true
console.log(mySet.has('value3'))//false
const mySet1 = new Set()
mySet1.add('value1')
mySet1.add('value2')
mySet1.add('value4')
mySet1.add('value6')
mySet1.add('value7')
mySet1.add('value9')
for(const value of 선언값.values()) {} // 기본 구조for(const value of mySet1.values()) {
console.log(value)
}