일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 완전탐색
- dfs
- 백트래킹
- 알고리즘
- React
- 제로베이스 프론트엔드 스쿨
- JavaScript
- leetcode
- 프론트엔드 스쿨
- c#
- socket
- Server
- 멀티스레드
- 메모리 배리어
- 구현
- 서버
- 코딩테스트 스터디
- 구조체
- 백준
- 코딩테스트
- C++
- 문자열&연산자
- map
- 자바스크립트
- 프로그래머스
- Algorithm
- BFS
- MemoryBarrier
- N과 M(2)
- 제로베이스
- Today
- Total
목록Front-end/Java Script (6)
Written

IIFE (Immediately-invoked function expression) 위 처럼 함수를 괄호( )를 사용하여 감싼 후, 뒤에 ()를 붙이는 구문을 IIFE라고 합니다. 함수의 이름과()를 활용하여 호출을 해주지 않아도, 위 구문은 함수를 곧 바로 실행시켜줍니다. 보통 IIFE를 사용하는 경우는 위에서 구현한 함수 내용이 곧바로 실행되기를 바라거나 , 함수 안의 다양한 변수들이 블럭 바깥에 영향을 주지 않기를 바랄 때 사용합니다. 이처럼 블럭 밖에선 value에 접근할 수 없기때문에 값을 알지 못합니다 ! 추가로 맨앞에 세미콜론이 붙는 경우도 존재하는데, 이것은 여러 스크립트들이 호출되었을 때, 선행하는 다른 스크립트 블럭들과 충돌하지 않도록 구분자로 넣어주는 것입니다. 아래는 참조 블로그 u..
JavaScript를 공부하면서 느낀점 굉장히 유연하면서 편리한 점이 돋보이는 프로그래밍 언어라고 느꼈습니다. 또한 코드를 짜보다가 궁금한게 생기면 크롬창에서 개발자도구 콘솔창을 통해 직접 로그를 찍어보면서 공부를 할수 있는것도 굉장히 신선했습니다 :) 알고리즘 문제를 푸는데에 있어서도 기존에 사용했던 C++에 비해 단순하고 간결하다는 생각도 들었습니다. 비록 직접적인 메모리와의 상호작용이 없기 때문에 다소 추상적이고, 어떠한 동작의 예측이나 머리속에 구체적으로 그려지지 않는 부분은 이해하기가 오히려 더 어려울 때도 있었습니다. 하지만 nodeJS를 통해 서버에 대한 개발도 공부 해볼 수 있고 단순히 프론트엔드 분야에 국한되지 않고 다양한 분야에서 쓰이는만큼 가치가 굉장히 높은 언어라고 생각합니다. Ja..
값 복사 , 참조 복사 알고리즘 문제를 풀다가 배열의 복사에 대한 개념을 다시 잡아보았습니다 ! 1 2 3 4 5 6 7 8 let arr = [1,2,3]; let arr2 = arr; arr.length = 0; cosole.log(arr2.length); // 3이 나올거라고 생각했지만 0이 나왔습니다. Colored by Color Scripter cs arr과 arr2가 서로 다른 변수로 각자의 메모리 공간을 따로 가지면서 독립적인 상태라고 생각하여 arr2.length는 3이 출력될거라 생각했지만 , 0이 출력되었습니다. 결국 arr2 = arr이 메모리를 공유(참조)하는 것인지, 단순히 값을 복사하는 것인지 헷갈렸기 때문에 이에 관한 개념을 찾아서 학습한 것을 정리해보려 합니다. 자료형의 값..
유사 배열 객체 배열 처럼 보이지만, 사실은 배열이 아닌 객체를 말합니다. 대표적으로 자바스크립트의 함수에서 사용가능한 argumnets 객체가 있습니다. 1 2 3 4 5 6 7 8 9 10 11 function example(a,b,c) { for (let i = 0; i [1,2,3]의 배열 생성 cs Array.from()의 인자로 arguments를 넣으면 배열 메서드들을 사용할 수 있는 진짜 배열을 만들 수 있습니다. 화살표 함수 화살표 함수는 함수를 간단하게 표현하기 위한 방법입니다. 일반적인 함수와는 다르게 this나 super에 대한 바인딩이 없고 메서드로 사용할 수 없으며 생성자로 사용할 수 없습니다. 함수를 간단히 사용하기 위한 도구로 화살표 함수에 대한 다양하고 자세한 내용은 MDN..
변수 유효범위 (Variable Scope) JS에서는 객체 , 함수 모두 변수입니다. Scope란 변수의 유효 범위 , 즉 변수가 살아서 인정될 수 있는 범위를 말합니다. 1. JS의 지역변수 지역변수(Local Variable)는 함수 내에서 선언된 변수를 말합니다. 이러한 변수들의 유효 범위는 함수 내부입니다. 함수의 외부에서 사용하거나 접근하려고 하면 오류를 발생시킵니다. 함수의 매개변수 역시 함수 내부에서만 유효하고 함수의 외부에서는 접근 및 사용이 불가능합니다. * 하지만 지역변수에 typeof 연산자에 대입하면 오류가 아닌 undefined를 반환합니다. EX) function localNum() { var num = 10; // 지역 변수 num에 숫자 10을 대입함. document.wr..
C언어와의 차이점 C계열의 언어는 소스 파일 작성 후 , 해당 파일을 컴파일하여 사용자가 실행할 수 있는 실행파일(.exe)로 만들어 사용합니다. 하지만 인터프리터 언어인 JS는 이러한 컴파일 작업을 거치지 않고, 소스 코드를 바로 실행할 수 있습니다. JS는 웹 브라우저에 포함된 자바스크립트 인터프리터가 소스 코드를 직접 해석하여 바로 실행해 줍니다. 자바스크립트를 적용하는 방법 HTML문서에 자바스크립트 코드를 적용하는 방법은 2가지 입니다. 1. 내부 자바스크립트 코드로 적용 2. 외부 자바스크립트 파일로 적용 ● 내부 자바스크립트 코드 자바스크립트 코드는 태그를 사용하여 HTML문서 안에 삽입할 수 있습니다. HTML의 외부 자바크스립트 파일을 사용하는 것이 HTML코드와 JS코드를 각각 읽기에도..