반응형
반응형
자바스크립트에서 element를 찾을 때,가장 많이 사용하는 함수들 입니다. querySelector와 querySelectorAll 입니다. querySelector(selector) selector를 선택자로 전달해서 일치하는 하나의 element를 return 합니다. 없으면 null을 반환합니다. document.querySelector('p'); querySelectorAll(selector) selector와 일치하는 모든 element의 배열을 반환 합니다. document.querySelectorAll('p'); 아래 예제에서 확인 할 수 있습니다. See the Pen Untitled by Young Jun Koo (@YoungJu-Ku) on CodePen.
자바스크립트에서 자주 사용하는 배열 함수에 대해서 정리하려고 합니다. filter filter(callback) 배열에서 callback 함수가 true 인 값만 배열로 반환합니다. const hero = ["superman", "batman", "pororo"] const result = hero.filter(person => person === "superman"); console.log(result); ["superman"] superman 값이 있는 배열이 반환됩니다. every every(callback) 배열 안의 값들이 callback 함수 조건을 통과하는지 판별합니다. true, false값을 반환합니다. const hero = ["superman", "batman", "pororo"] c..
프론트엔드 개발자 이직 준비를 하면서 직접 질문을 받았던 내용을 대해서 정리해 보았습니다. 컴퓨터 공학 관련 질문, 자바스크립트, SPA 프레임워크, 웹 관련 질문과 프로젝트 경험 등 다양하게 질문을 하고, 꼬리에 꼬리를 무는 질문을 주로 많이 합니다. 아래 내용 참고하시고 면접에서 좋은 결과 있으시기를 바라겠습니다. 부족한 부분이나 피드백은 언제나 환영입니다😀 프로토 타입 프로토 타입이 무엇인가요? 자바스크립트 가장 상위의 프로토 타입 객체 모든 자바스크립트 객체는 Object.prototype을 상속받는다. 프로토 타입으로 할 수 있는 게 무엇인가요? 프로토 타입에 메서드 프로퍼티 추가 상속으로 기존 클래스의 메서드와 프로퍼티를 사용 Object.prototype은 무엇인가요? 자바스크립트 객체를 생..
try…catch를 사용하는 이유 자바스크립트는 에러가 발생하면, 스크립트가 종료된다. try..catch문을 에러가 발생할 것 같은 곳에서사용하면 스크립트 종료 없이 아래와 같이 동작하게 된다. 동작 순서 error 발생 try문 중단 catch 동작 이후 스크립트 실행 아후스크립트가 종료하지 않고 계속 진행한다. try { wakeup(); // ReferenceError: wakeup is not defined } catch(e) { console.log(e); } throw throw 고의로 오류를 발생시킨다. 스크립트 오류는 아니지만, throw 문을 사용하게 되면 오류를 발생 시킬 수 있다. try { // do Something; throw '에러 발생'; } catch(e) { consol..
$.merge(first, second) 첫번째 배열에 두번째 배열을 추가하여 합치게 된다. 배열을 보존하면서 합치고 싶을때는? merge 하기 전에 함수를 만들어 준다. var newArray = $.merge([], array); Sample var hero = ['superman', 'batman', 'pororo']; var person = ['짱구', '짱아', '신형만']; var array = $.merge($.merge([], hero), person)); console.log(array); console.log(hero); 결과 ["superman","batman","pororo","짱구","짱아","신형만"] ["superman","batman","pororo"] jQuery.merge..
sample document.body.innerHTML = 'Hello'; var time = 3000; var date = new Date().getTime() + time; var curDate = new Date().getTime(); while(curDate < date) { curDate = new Date().getTime(); } 위 코드 실행 시 반복문에 다 돌고 난 뒤 페이지에 Hello가 찍히게된다. innerHTML은 동기코드인데 왜 반복문이 다 돌고나서 찍히게 될까? 자바스크립트 실행과 페이지 렌더링을 별개이다. 자바스크립트 실행 이후 페이지 렌더링을 실행하게 된다. 단, 디버깅으로 보게되면 먼저 'Hello'가 렌더링이 된다.
비동기를 사용하는 이유 자바스크립트는 싱글 스레드 언어이다. 한번에 한가지일을 순차적으로 처리한다. 그러나, 웹은 방대한 자료를 가져오고, 효율적으로 사용하기 위해서 비동기적 프로그래밍이 필요하다 jQuery Deferred를 이용하여 비동기 함수 만드는 방법 Deferred() 비동기 함수로 만드려면 3가지 정도 과정이 필요하다. 1. Deferred() 객체 생성 var $dfd = $.Deferred(); 2. 프로미스 객체 return return $dfd.promise(); 3. 비동기 함수 실행 setTimeout(function() { console.log('async'); }, 300) 위 3가지 함수를 사용하면 아래와 같이 비동기로 사용할 수 있는 함수가 생기게 됩니다. function ..
익명함수란 ? 익명함수는 함수 리터럴 방식으로 만들어진 이름없는 함수 입니다. 함수 리터럴 방식을 알기전에 리터럴에 대하여 먼저 알아야 합니다. 리터럴 이란? 말그대로, 문자그대로 라는 뜻입니다. 우리가 데이터를 만들 때 사용하는 방식이 literal 방식입니다. var a = 10; var name = superman; 이러한 방법 들이 리터럴 방식입니다. 함수 리터럴이란? 함수를 문자그대로 변수에 담으면 함수 리터럴 방식으로 만드는 것입니다. var funcA = function(name){ alert(name + "님 환영합니다"); } 이런 식으로 변수에 데이터를 넣듯이, 변수에 함수를 담으면 함수 리터럴 방식으로 데이터를 만들었습니다. 그러면 다시, 익명함수로 돌아가보겠습니다. var funB ..
cssText() Element 객체의 style를 가져오거나 변경할 수 있습니다. 1. css 스타일 적용하는 방법 abc document.querySelector('.abc').style.cssText = 'background-color:red; width:300px; height:300px;'; 결과 2. css 스타일 가져오기 abc console.log(document.querySelector('.abc').style.cssText); // "background-color: blue;"
배열 값 변경 1. 인덱스를 이용 var hero = ['superman', 'batman', 'pororo']; hero[0] = 'ionman'; console.log(hero); //["ionman", "batman", "pororo"] 배열 값 삭제 1. delete를 사용 delete를 사용하면 빈자리에는 undefiend가 들어가게 됩니다. var hero = ['superman', 'batman', 'pororo']; delete hero[0]; console.log(hero); //[undefined, "batman", "pororo"] 2. splice() 메서드 이용 splice(변경값이 들어갈 위치, 그 위치에서 배열에서 지울 개수, 값, 값,,,,) 변경 값이 들어갈 위치 : 배열에..