JavaScript
-
호이스팅(Hoisting)JavaScript 2021. 3. 28. 01:18
호이스팅이란? console.log(x); // undefined var x; 이 코드에서 1번째 줄은 아직 변수가 선언되지 않았기 때문에 오류가 발생할 것 같지만, 실제로는 undefined가 출력된다. 변수 선언이 프로그램 첫머리 또는 함수의 첫머리로 끌어올려지기 때문이다. 이를 변수 선언 끌어올림, 즉 호이스팅이라고 한다. console.log(x); // undefined var x = 127; console.log(x); // 127 단, 위처럼 선언과 동시에 대입하는 코드(var x = 127)에서 대입부(x = 127)는 끌어올리지 않는다. 함수 선언도 끌어올려진다! test(127); // 127 function test(x) { console.log(x); } 위 코드처럼 함수 호출문이 ..
-
[JavaScript] 배열의 요소를 객체의 key로 사용하는 방법.JavaScript 2020. 7. 15. 13:32
첫번째 입력에서는 key가 공백으로 구분되어 입력되고, 두번째에는 그 key의 value가 공백으로 구분되어 주어진다. 두 입력을 각각 key, value로 가지는 객체를 만들려면 다음과 같은 방법들이 있다. https://stackoverflow.com/questions/54789406/convert-array-to-object-keys Convert array to object keys What's the best way to convert an array, to an object with those array values as keys, empty strings serve as the values of the new object. ['a','b','c'] to: { a: '', b: '', c: '..
-
[JavaScript] 배열 중복 요소 제거하는 방법.JavaScript 2020. 4. 2. 12:06
1. filter() 메서드 filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환한다. 출처 : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/filter Array.prototype.filter() filter() 메서드는 주어진 함수의 테스트를 통과하는 모든 요소를 모아 새로운 배열로 반환합니다. developer.mozilla.org 2. reduce() 메서드 reduce() 메서드는 배열의 각 요소에 대해 주어진 reducer 함수를 실행하고, 하나의 결괏값을 반환합니다. 출처 : https://developer.mozilla.org/ko/docs/We..
-
document.querySelectorAll()과 mapJavaScript 2020. 2. 10. 14:11
NodeList에 있는 요소들을 위처럼 map 메서드로 모두 출력하고 싶다. 에러가 뜬다! document.querySelector()의 prototype에는 위 배열처럼 map 메서드가 존재하지 않기 때문이다. 아예 map 함수를 직접 만들어주니 원하는대로 NodeList에 있는 요소들의 이름이 배열로 출력된다. document.querySelector는 iterable/iterator 프로토콜을 따라 Symbol.iterator를 갖고 있고, [Symbol.iterator]()로 이터레이터를 생성할 수 있다. 즉, for...of로 순회가 가능하다!
-
Guard and Default OperatorsJavaScript 2020. 1. 4. 15:57
Guard and Default Operators in Javascript && → 논리 AND 연산자 - The Guard Operator // Guard 연산자 적용 전 var get_username = function(){ if(loggedin){ return username; } }; // Guard 연산자 적용 후 var get_username = function() { return loggedin && username; } 만약 loggedin이 true이면 username 값이 반환되고, false이면 false가 반환된다. loggedin이 username을 보호하는 방패처럼 동작한다. || → 논리 OR 연산자 - The Default Operator // Default 연산자 적용 va..