목록개발 Web/JS (37)
음악, 삶, 개발
undefined 는 아무것도 할당되어있지않은 변수를 의미한다. let a; console.log(a) // undefined
false 가 될수있는것들 이외에는 모두다 true 가 될수있다. 아래의 것들을 외우자. const a = 0 // false const b = null // false const c = undefined // false const d = NaN // false const e = '' // false
JS 에서 이것저것 계산을 하다보면 나누기를 당연히 자주 하게되는데, 이때 0 으로 나눌 경우 Infinity , -Infinity, NaN 등이 출력된다. 따라서 내가 나눌려는 녀석이 0 인지 아닌지를 확인하는게 중요하다. const a = 1 / 0 const b = -1 / 0 const c = 'not a number' / 2 console.log(a) // Infinity console.log(b) // -Infinity console.log(c) // NaN
stackoverflow.com/questions/12503146/create-an-array-with-same-element-repeated-multiple-times 개발을 하다보면, 똑같은 요소들이 반복되는 긴 Array 를 만들어야할때가 있다. 2가지 방법이 있다. 이 Array 가 가진것들이 object 들일 경우, 각각이 reference 가 아닌 value 로 이어져야한다는것이 중요하다. const a = () => ({ v : 100 }) // 3번 반복하자 const b1 = Array.from({length: 3}, a) // 방법1 const b2 = Array(3).fill(null).map(a) // 방법2 b1[0].v = 999 b2[0].v = 888 con..
보통 객체안에 무언가를 집어넣을때는 key 와 value 가 필요하다. const o = { myKey : 'myValue!'} 위의 상황에서, value 를 제거하고 const o = { myKey } 하게되면, Uncaught ReferenceError: myKey is not defined 라는 에러가 발생한다. 하지만 아래와 같은 대입은 할수있다. const one = 1 const two = 2 const three = 3 const o = { one, two, three } console.log(o) // { one : 1, two : 2, three : 3} 위의 코드에서는 앞서, 여러 변수들을 각각 정의하였고, 이 변수명을 고대로 객체안에 집어넣었는데, 이때는 결과적으로 변수명이 해당 객체..
개인적으로 JS 에서 객체를 만드는 방법에 대해 여러 옵션들을 경험해보았다. 그중 가장 내 취향인것은 Factory function 이다. function make(a, b, c) { const obj = { a : a, b : b, c : c, } return obj } ES6 에서는 이 Factory Function 을 다음과 같이 매우 간결하게 작성할수있다. const make = (a, b, c) => ({ a : a, b : b, c : c }) make(20, 30, 40) // {a : 20, b : 30, c : 40}
{ } 가 => 뒤에 있냐없느냐에 따라 return 의 존재여부가 결정된다. { } 가 없을 경우는, 곧 바로 return 하게되며, { } 가 있을 경우는 return 을 적시해줘야한다. const f1 = () => 'hello' // { } 가 없으므로 'hello' 를 return 함! const f2 = () => { return 'world '} // { } 가 있으므로, return 을 작성해줘야함!