[JavaScript] - var를 말고 const, let을 써 야하는 이유
·
지난 글 모음
자바스크립트를 공부하면서 많이들 var로 변수를 선언하지 말고 const와 let을 사용하라고 한다. 왜 var를 지양하는지 정리해보려고 한다. var로 선언된 변수의 문제점 1) 중복 선언 var로 선언된 변수는 중복 선언이 가능하다. var name = "kim"; console.log(name); // kim var name = "lee"; console.log(name); //lee 위의 예제와 같이 name을 중복해서 선언해도 에러가 발생하지 않는다. 이는 개발자가 의도치 않게 변수명을 똑같이 선언하고 값을 재할당할 수 있게 되고 문제가 발생할 수 있다. let과 const는 같은 스코프 내에 중독 선언을 허용하지 않는다. let과 const로 선언된 변수는 SyntaxError가 나오게 된다...
[프로그래머] - lv2 문자열 압축 JavaScript
·
지난 글 모음
프로그래머스 lv2 문자열 압축 레벨: 2 언어: JavaScript 문제 풀러 가기 문제 설명 간단한 예로 "aabbaccc"의 경우 "2a2ba3c"(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 있는데, 이러한 방식은 반복되는 문자가 적은 경우 압축률이 낮다는 단점이 있습니다. 예를 들면, "abcabcdede"와 같은 문자열은 전혀 압축되지 않습니다. "어피치"는 이러한 단점을 해결하기 위해 문자열을 1개 이상의 단위로 잘라서 압축하여 더 짧은 문자열로 표현할 수 있는지 방법을 찾아보려고 합니다. 예를 들어, "ababcdcdababcdcd"의 경우 문자를 1개 단위로 자르면 전혀 압축되지 않지만, 2개 단위로 잘라서 압축한다면 "2ab2cd2ab2cd"로 표현할 수 있..
[프로그래머스] - LV1 모의고사 JavaScript
·
지난 글 모음
프로그래머스 완전탐색 모의고사 문제 레벨: 1 언어: JavaScript 문제풀러가기 문제요약 1번: 1, 2, 3, 4, 5 2번: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1... 3번: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 ,3,3 .... 으로 정답을 찍는다고 한다. 이때 들어오는 모의고사의 정답과 비교하여 가장 많이 정답을 맞춘 정답자를 반환해라 입력값 숫자 배열, 모의고사 정답이 숫자 배열로 들어옴출력값 숫자 배열, 가장 많이 정답을 맞춘 사람 📑풀이 아이디어 각 사람의 정답을 배열에 저장한다. 정답배열과 비교하여 정답 맞춘 수를 카운딩하여 저장한다. 📋풀이코드 function solution(answers) { let answer = []; let maxCount = 0..
[프로그래머스] -LV1 로또의 최고 순위와 최저 순위 JavaScript
·
지난 글 모음
프로그래머스 2021 Dev-Matching 문제 레벨: 1 언어: JavaScript [문제풀러가기] (https://programmers.co.kr/learn/courses/30/lessons/77484) 간단한 문제 설명 6자리 로또 번호와 그리고 몇 자리가 지워진 6자리 번호가 있다. 지워진 번호를 임의로 채워서 최고로 받을 수 있는 순위와 최저로 받을 수 있는 순위 구하기 자세한 설명은 위 링크 참고! 입력값 lottos: 0이상 45이하의 원소를 가지는 길이 6의 정수 배열, 지워진 값은 0으로 들어옴 win_nums: 1이상 45이하의 원소를 가지는 길이 6의 정수 배열출력값 최고순위와 최저순위 순으로 정수가 저장된 배열 📑풀이과정 일단 lottos와 win_nums의 같은 값의 개수가 몇 ..
[프로그래머스] - LV1 신고 결과 받기 JavaScript
·
지난 글 모음
프로그래머스 2022 카카오 블라인드 코딩 테스트 문제이다. 레벨: 1 언어: JavaScript 문제풀러가기 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에..
[Javascript] 객체란? 사용자 정의 객체 만들기
·
지난 글 모음
객체란? 사용자 정의 객체 만들기 간단하게 말해서 복합 자료형이다.. 객체 안에는 숫자, 문자열 심지어 객체까지 포함할 수 있어 복합 자료형이라고 부른다. 간단한 예제로 아래와 같이 문자열, 숫자를 포함한 book이란 객체를 만들었다. let book ={ title: '제목', author: '홍길동', pages: 350, price: 1800, } 객체는 key : value 형태로 구성된다. title은 key이고 '제목'은 value에 해당된다. 자바 스크립스에서 객체의 종류 내장객체: 자바스크립트 안에 미리 객체로 정의되어 있는 객체 ex) Date 문서 객체 모델(DOM): 객체를 사용해 웹 문서를 관리하는 방식 ex) Document, Image 객체 등이 있다. 브라우저 객체 모델(BOM..
[Javascript] 템플릿 문자열 백틱(`) 알아보기
·
지난 글 모음
이번 글은 템플릿 문자열에 관하여 알아보겠다. 이것도 모르고 프로젝트 코드 작성하다가 한참 시간 낭비했다. 템플릿 문자열은 ES6에서 새로 추가된 문자열이다. 이 문자열은 큰 따옴표나 작은따옴표로 감싸는 기존 문자열과 다르게 tab키 위의 백틱( ` )으로 감싼다. 특이한 점은 이 문장열 안에 변수를 넣을 수 있다. 비교 예시를 보자 기존의 es5 문법은 아래와 같다. let num1 = 1; let num2 = 2; let result = 3; let string1 = num1 + " 더하기" + num2 + "는 '" + result + "'"; console.log(string); // 1 더하기 2는 '3' 위의 코드는 변수, 더하기 기호 등으로 가독성이 좋지 않다. 이제 템플릿 문자열을 사용해서..
[Javascript] var, const, let에 대하여 알아보기 ES6
·
지난 글 모음
React로 열심히 프로젝트를 하다가 프로젝트를 잠깐 쉬게 되었다. 그래서 부족하다고 느꼈던 Javascript를 기초부터 다시 정리하기로 했다. 오늘 글은 Javascript에서 변수를 선언할때 사용하는 var, const, let에 대하여 알아보도록하자 1. 선언방식 선언하는 방식은 아래와 같다. var, let, const 등을 적고 변수명을 적어서 선언하면된다. var x = 3; console.log(x); // 3 let y = 2; console.log(y); // 2 const z = 1; console.log(z); // 1 2. 차이점 그럼 3개의 차이점이 무엇인가? 먼저 var은 함수 스코프를 가지고 let, const는 블록 스코프를 가진다. 함수 스코프는 블록( '{}'와 같은 중..