728x90
반응형

JavaScript 8

[자바스립트(JavaScript )] 13. Strict mode

🟡 1. Strict mode function func(){ x = 1; } func(); - 위 코드를 실행을 시키면 실행이 잘 됩니다. 그러한 이유는 자바스크립트는 x가 어디에서 선언이 되었는지 처음에는 함수 내에서 찾아봅니다. 함수 안에서 없으면 함수 밖으로 나와 전역 변수에서 찾아봅니다. 만약 전역 변수에서도 없으면 에러는 내는 것이 아니라, 암묵적으로 전역 객체에 x라는 변수 동적으로 생성합니다. 이러한 변수를 암묵적 전역 변수(implicit global)라 합니다. 개발자의 의도와는 상관없이 암묵적 전역 변수가 생성이 되고 실행되는 것을 막기 위해 ES5부터는 strict mode가 추가되었습니다. 'use strict' function func(){ x = 10; // Uncaught Re..

[자바스립트(JavaScript )] 12. 함수의 다양한 형태 (즉시 실행 함수, 내부 함수, callback 등)

🟡 1. 함수의 다양한 형태 - 함수는 여러 가지 형태를 가지고 있고, 그 형태에 따라 부르는 명칭이 다릅니다. 이번 글에서는 4가지 형태에 대해서 얘기해보겠습니다. 즉시 실행 함수 내부 함수 재귀 함수 콜백(callback) 함수 🟣 1.1 즉시 실행 함수 - 함수가 정의됨과 동시에 실행이 되는 함수를 즉시 실행 함수(IIFE, Immediately Invoke Function Expression)라고 합니다. - 즉시 실행 함수는 최초 한 번만 호출이 되고 다시 호출할 수가 없습니다. 그래서 주로 초기화 처리에 사용이 됩니다. // 기명 즉시 실행 함수 (function hi() { console.log('Hello!'); }()); hi(); //error -> hi is not defined : ..

[자바스립트(JavaScript )] 11. 함수 프로퍼티 (Function Property)

🟡 1. 프로퍼티 (Property) - 프로퍼티는 속성이라는 뜻으로, 자바스크립트에서는 객체 내부의 속성을 의미합니다. let person = { name : 'bigone', age : 30 } - 위 예시를 보면 person이라는 객체 안에 name, age이라는 key가 있는데, 이를 프로퍼티라고 합니다. 🟡 2. 함수 프로퍼티 - 함수도 객체이므로 프로퍼티를 가지게 됩니다. function sum (a, b){ return a + b; } console.dir(sum) - sum 함수 생성 코드를 보면 argument, caller 등과 같은 프로퍼티들을 생성한 적이 없는데, 자동으로 생성이 되어있습니다. 이는 Function 생성자에 의해서 함수가 생성될 때 자동으로 할당이 됩니다. - 함수에..

[프로그래머스] lv01. 신규 아이디 추천 (자바스크립트-javascript)

더보기 문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. "네오"는 다음과 같이 7단계의 순차적인 처리 과정을 통해 신규 유저가 입력..

[프로그래머스] lv01. 신고 결과 받기 (자바스크립트)

더보기 더보기 문제 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다. 신고 횟수에 제한은 없습니다. 서로 다른 유저를 계속해서 신고할 수 있습니다. 한 유저를 여러 번 신고할 수도 있지만, 동일한 유저에 대한 신고 횟수는 1회로 처리됩니다. k번 이상 신고된 유저는 게시판 이용이 정지되며, 해당 유저를 신고한 모든 유저에게 정지 사실을 메일로 발송합니다. 유저가 신고한 모든 내용을 취합하여 마지막에 한꺼번에 게시판 이용 정지를 시키면서 정지 메일을 발송합니다. 다음은 전체 유저 목록이 ["muzi", "frodo", "apeach", "neo"]이고, ..

[JavaScript_error] 01. HTMLCollection는 forEach, filter 등을 사용 불가.

🟡 HTMLCollection는 forEach, filter 등을 사용 불가. - JS로 HTML 요소를 불러오고 싶을 때 document.getElementsBy~~ 함수를 사용해서 가져올 것입니다. 이때 가져온 element들은 HTMLCollection객체 형태로 가져오는데, 배열에 담겨 오길래 당연히 map, filter, forEach가 되는 줄 알았으나 되지 않습니다. let checkboxList = document.getElementsByClassName('allDelete'); Array HTMLCollection 형태 filter 함수 forEach 함수 - 위 표에서 보시는 것처럼 HTMLCollection은 filter, forEach 등 Array에서 기본적으로 제공해주는 함수를 ..

[JavaScript] 02. 자바스크립트 기본 문법

* 이번 글에서는 자바스크립트의 기본 문법들이 어떤 종류가 있고, 그 문법들은 어떠 것인지 간단하게만 설명하고 다음 글부터 문법 종류 한 개씩 짚어가보도록 하겠습니다. 🟡 1. 변수 (variable) - 수학을 배울 때 들었던 단어와 하는 일이 비슷합니다. 어떤 값을 담을 수 있는 그릇이라고 생각하시면 됩니다 :) 조금 더 어렵게 얘기를 해본다면 변수는 값(value)을 저장(할당)하고 저장된 값을 참조하기 위해 사용합니다. 그리고 정확히는 변수에는 값이 저장되어 있는 것이 아니고 값이 저장되어 있는 메모리 주소를 저장하고 있습니다. - 우리가 변수 'a'에 '닭강정'을 저장했다고 가정하면, 변수 'a'에는 '닭강정'의 메모리 주소인 '속초시'가 저장되게 됩니다. 그래서 우리가 변수 'a'를 호출하면 ..

[프로그래머스] lv01. 로또의 최고 순위와 최저 순위(자바스크립트)

문제 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. ◾ 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6 (낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 6개가 44, 1, 0, 0, 31 25라고 가정해보겠습니다...