본문 바로가기

자바스크립트 동등 비교 자바스크립트에서 동등비교(== / ===)는 결국양쪽의 값들을 숫자로 변화시켜 비교
자바스크립트 toISOString() 메서드 const [yyyy, mm, dd] = (new Date()).toISOString().split('-'); toISOString() 메서드를 사용하면, 날짜관련 처리를 간결하게 작성할수 있지만,, 한 부분식 날짜정보를 얻어보면 다르기 때문에,,해당 지역이 표준을 기준으로 하지 않는다면, 함부로 사용하면 안된다.
자바스크립트 forEach() break 하는 법 const validation = () => { arrayList.forEach((item) => { if (!item) { /** 특정 조건 */ return false; } }); return true; }; 위와같이 특정 함수 내에서 배열을 검사해 '하나라도' 특정 조건에 해당했을 경우,반복을 멈추고 싶은 경우가 존재하는데, forEach()는 기본적으로 break가 존재하지 않고,굳이 사용하려면 꼬아서 이상하게 사용해야 한다. some()을 사용하는 방법도 있지만, 그것도 원래 의도와 맞지 않다고 한다. 결론: 일반 for문을 사용하자
자바스크립트 내부 객체를 변수에 할당 아래가 헷갈렸다.const obj = { innerObj: {name: 11111} }; let copyInnerObj = obj.innerObj; obj.innerObj = {key: 'key'}; /** --> 여기서 새로운 객체 {key: 'key'}를 만들고 그 주소를 할당함 */ console.log(obj.innerObj); /** {key: 'key'} */ console.log(copyInnerObj); /** {} */
자바스크립트 typeof() vs instanceof() 차이 1. typeof해당 변수의 primitive(기본)타입을 반환해준다.undefinedbooleanstringnumberobjectfunction 2. instanceof비교연산자로, object타입의 __proto__타입과 비교해 확인해준다.(primitive타입 변수와 비교할 시 에러)const TestObj = function () {}; const TestObj2 = function () {}; const testObj = new TestObj(); console.log(typeof testObj); /** 'object' */ console.log(testObj instanceof Object); /** true */ console.log(testObj instanceof TestObj); /*..
자바스크립트 Object.freeze() 객체의 값이 변하지 않게 막아준다.let obj1 = { name: 'ori-name' }; Object.freeze(obj1); let obj2 = obj1; obj1.name = 'newName'; obj2.name = 'newName'; console.log(obj1); /** obj1.name: ori-name */ console.log(obj2); /** obj2.name: ori-name */(참고: const는 객체를 담고있는 변수 obj1에 다른 값, 객체를 재할당 하는것을 막아주는 것이다. ) 주의! Object.assign()과 마찬가지로, 객체 내부에 중첩된 객체가 존재할 경우,그 내부 객체는 freeze()되지 않는다.let obj1 = { name: 'ori-name', arr: ..
자바스크립트 중첩된 객체의 복사 let obj1 = { name: 'obj1-name' }; let obj2 = obj1; obj2.name = 'NEW NAME'; /** obj1.name 도 NEW NAME으로 변한다. */위와같이 =을 사용해 변수에 객체를 할당하게 되면참조하는 주소를 복사하게 된다. 따라서 아래와 같이 복사를 해서 사용하게 된다.let obj1 = { name: 'obj1-name' }; let obj2 = Object.assign({}, obj1); obj2.name = 'NEW NAME'; /** obj1.name은 변하지 않는다. */ 한가지 주의할 점은, 아래와 같이 객체가 중첩되었을 경우인데,해당 내부 객체를 건드릴 경우, 기존 내부 객체와 같이 변경이 된다.즉, 객체 내부에 객체가 존재한다면, Obje..
자바스크립트 Object.create vs Object.assign 차이 const parent = { name: 'parent-name' }; /** .create(): 매개변수로 상속받을 객체를 정해준다. */ const child = Object.create(parent); /** .assign(): 매개변수로 기준 객체와, 복사할 객체를 넣어준다. */ const newParent = Object.assign({}, parent)