javascript 썸네일형 리스트형 참조형 데이터 const 시 사용시 알아보기 const 란? const 선언은 블록 범위의 상수를 선언한다. 상수의 값은 재할당 할 수 없으며 다시 선언할 수도 없다. 즉, const로 선언된 배열이나 객체의 경우, 해당 변수를 다른 값으로 재할당하는 것이 불가능하다. 또 다른 말로는, const로 선언된 변수에 다른 값을 할달하려고 하면 에러가 발생한다는 것이다. 하지만 배열이나 객체의 요소나 속성에 대한 수정은 가능하다. 배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유 const는 변수 자체를 불변으로 만드는 것이 아니라 변수가 참조하는 값의 변경을 막는 것이기 때문이다. 배열이나 객체는 참조 타입이고, const로 선언된 변수나 참조하는 메모리 공간 자체는 변경되지 않는다. 따라서 변수나 참조하는 배열이나 객체의 요소.. 더보기 require vs import 문법 비교하기 자바스크립트에서는 모듈을 불러오는 문법이 두가지 가 있다. 1. (require / exports ) 2. (import / export) 이 둘은 비슷하면서도 달라 가끔 자바스크립트를 사용하면서 혼동을 준다. (require / exports) NodeJS에서 사용되고 있는 CommonJS 키워드이고 Ruby 언어 스타일과 비슷하다라고 볼 수 있다. /* CommonJS */ const name = require('./module.js'); (import / export ) 는 ES6(ES2015)에서 새롭게 도입된 키워드로서 Java나 Python 언어 방식과 비슷하다. /* ES6 */ import name from './module.js' require와 import 의 주요 차이점 1. reqi.. 더보기 Method Chaining (함수 연달아 쓰기) Mathed Caining : 메서드가 객체를 반환하게 되면 메서드의 반환 값인 객체를 통해 또 다른 함수를 호출할 수 있다. 이러한 프로그래밍 패턴을 메서드 체이닝(Method Chaining) 이라 부른다. 초록색 글씨에 해당하는 부분이 이전 메서드(노란색 블럭)가 리턴하는 값이다. 이전 메서드가 리턴하는 값에 다음에 연결된 메서드가 적용된다는 점이 메서드 체이닝의 핵심이다. function solution(strings, n) { let answer = []; for (i=0; i 더보기 스프레드 문법(...arr) 함수를 호출할때 ...arr를 사용하면, 이터러블 객체 arr이 인수 목록으로 '확장'됩니다. let arr = [3,5,1]; alert(Math.max(...arr)); // 5 (스프레드 문법이 배열을 인수 목록으로 바꿔주었습니다. 아래와 같이 이터러블 객체 여러 개를 전달하는 것도 가능합니다. let arr1 = [1,-2,3,4]; let arr2 = [8,3,-8,1]; alert(Math.max(...arr1, ...arr2)); //8 스프레드 문법은 평범한 값과 혼합해 사용하는 것도 가능합니다. let arr1 = [1, -2, 3, 4]; let arr2 = [8, 3, -8, 1]; alert(Math.max(1, ...arr1,2,...arr2,25)); //25 스프레드 문법은 배.. 더보기 소수 출력하는 알고리즘 문제 소수(prime number)는 자신보다 작은 두 개의 자연수를 곱하여 만들 수 없는 1보다 큰 자연수입니다. 다시 말해서 1과 그 수 자신 이외의 자연수로는 나눌 수 없는 자연 수 값 n을 입력했을 때, 소수값들을 나타내라. 풀이 범위 내 모든 숫자 i 에 대해서 { 1과 i사이에 제수가 있는지를 확인 있으면 => 소수가 아님 없으면 => 소수이므로 출력해줌 } function prime_Number(num){ let arr = []; if(num == 2){ arr.push(2); return arr; }else if(num == 3){ arr.push(2); arr.push(3); return arr; }else{ nextPrime: for(let i=2; i 더보기 문자열 비교 자바스크립트는 '사전순'으로 문자열을 비교합니다. '사전편집(lexicographical)' 순이라고 불리기도 하는 이 기준을 적용하면 사전 뒤쪽의 문자열은 사전 앞쪽의 문자열보다 크다고 판단됩니다. 예를들어, let test1 = ('I' > 'A'); let test2 = ('gentle' > 'gentla'); let test3 = ('man' > 'ma'); console.log('1.: '+ test1 ); console.log('2.: '+ test2 ); console.log('3.: '+ test3 ); 1. : true 1. : true 1. : true 문자열 비교시 적용되는 알고리즘은 다음과 같습니다. 1. 두 문자열의 첫글자를 비교합니다. 2. 첫 번째 문자열의 첫 글자가 다른 문자.. 더보기 옵셔널 체이닝 optional chaining 연산자 (?.)는 체인의 각 참조가 유효한지 명시적으로 검증하지 않고, 연결된 객체 체인 내에 깊숙이 위치한 속성 값을 읽을 수 있다. 간단히 예기하자면 에러가 발생하는 것 대신에 표현식 리턴 값으로 undefined를 준다. 함수 호출에서 사용될 때, 만약 주어진 함수가 존재하지 않는다면, undefined를 리턴한다. 오늘 작업을 하다가 이미지 태그의 "src" 속성값을 읽어 오려고 했다. 그리고 나서 interlock, 만약 값이 없다면 어떻게 해야될까 고민이됬다. var imgData = document.querySelector('#img_id_box').src; imgData로 값을 받아서 쓰긴했는데, src 없을 땐 에러를 띄워버려서 어떻게 해야 조건해결이 될까.. 더보기 이전 1 다음