728x90
반응형

JS 5

[자바스립트(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 생성자에 의해서 함수가 생성될 때 자동으로 할당이 됩니다. - 함수에..

[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] 01. 자바스크립트

🟡 1. 자바스크립트란? 자바스크립트는 객체 기반의 스크립트 프로그래밍 언어이다. 이 언어는 웹 브라우저 내에서 주로 사용하며, 다른 응용 프로그램의 내장 객체에도 접근할 수 있는 기능을 가지고 있다. -위키백과- 라고 위키백과에서 설명을 하고 있으나, 대체 이게 무슨 말일까..? Javascript는 HTML과 CSS로 만들어진 웹페이지를 동적으로 변경해주는 언어입니다. -생활코딩- 생활코딩에서는 조금 더 쉽게 설명이 되어 있습니다. 쉽게 예시를 들자면 사람의 몸이 웹사이트라고 하면 HTML은 뼈이고, CSS는 피부색, 외모이고 자바스크립트는 몸을 움직이는 근육이라고 생각하면 이해하기 쉬울 거 같습니다. 즉 자바스크립트는 웹사이트가 어떠한 기능 등을 수행할 수 있도록 해주는 언어입니다. 경고창을 띄운다..