javascript69 JS 스코프와 클로저 오늘은 자바스크립트의 스코프와 클로저에 대해 알아보자. 사실 이부분 공부하면서 머리에 쥐가... 중요한 개념인데 겁나 헷갈린다. 스코프란? Scope in JavaScript refers to the current context of code, which determines the accessibility of variables to JavaScript. The two types of scope are local and global: 스코프란 현재 코드의 문맥을 의미하며 자바스크립트 변수의 접근성을 결정한다. 스코프는 로컬과 글로벌로 나뉜다. Global variables are those declared outside of a block 블록 밖에서 선언된 변수는 글로벌 Local variables a.. 2021. 10. 21. JS 원시타입과 참조타입 배열과 객체를 배우면서 알아야 할 아주 중요한 개념이 있다. 바로 원시타입(primitive type)과 참조타입(reference type)이다 . 원시타입이란? method를 가지지 않는 6가지 타입을 뜻한다. 이름에서 유추 할 수 있듯이 아주 먼 컴퓨터 조상분들 때 부터 사용된 타입이다. string number bigint boolean undefined symbol (null) 원시타입의 작동원리 원시타입의 작동원리는 우편함에 편지를 넣는것과 비슷하다. let a = 'swimming in dev'; 위와 같은 선언과 할당을 했다고 하자. 이는 a씨가 사는 우편함에 'swimming in dev'라는 편지를 넣는 것과 같다. 그리고 이후 변수 a를 사용할 때 마다 안에 있는 편지를 꺼내오는 방식.. 2021. 10. 20. JS 배열과 객체 오늘은 대량의 데이터를 다룰 때 유용하게 쓰이는 배열과 객체에 대해 알아보자. 배열과 객체는 Boolean 혹은 String 등과 같이 별도의 자료형으로 취급하는데, 정확히는 참조 타입[Reference Type]이라고 한다. 1. 배열 배열은 순서를 의미하는 인덱스와 각 인덱스별로 값을 지니는 요소(Element)로 구성된다. 문법 let '배열명' = [ element0, element1, element2, ~ ]; 값접근식 '배열명'[접근하고자 하는 요소의 인덱스 값]; 배열을 활용한 속성 / 메소드 '배열명'.length; >> 배열의 길이 반환 (인덱스+1) '배열명'.push('추가하고자하는 요소의 값'); >> 요소를 맨마지막 인덱스로 추가 '배열명'.unshift('추가하고자하는 요소의 값.. 2021. 10. 16. JS 반복문 C언어 수업 때 어떤 강사님이 했던 말이 있다... 컴퓨터는 멍청합니다. 하지만 성실하고 정확하죠. 그렇다. 반복문이야 말로 컴퓨터의 성실함과 정확함이 돋보이는 기능이 아닐까?! 반복문에 대해 알아보자. for 구문 문법은 아래와 같다. for (초기화; 조건식; 증감문) {} 초기화 부분에는 초기값을 설정하고 조건식에는 반복되는 조건을 넣는다. 마지막으로 초기화된 값이 어떻게 증감하는지를 넣으면 끝! 초기화 for (; 조건식; ) {증감문} 경우에 따라서는 위처럼 초기화와 증감문이 다른곳에 위치하기도 한다. for in 구문 배열과 함께 쓰이면 아주 좋은 for in 구문이다. 문법은 아래와 같다. for ( 변수 in 배열 ) {} 위와 같이 구문을 작성하면 {}안의 명령문을 배열에서 하나씩 변수의.. 2021. 10. 8. JS 문자 이번에는 JS의 문자열에 대해 알아보자. JS는 문자열을 다룰 수 있는 여러가지 기본적인 메소드를 지원한다. str[index] str[index]는 str이라는 문자열에서 index위치에 있는 문자열을 뽑을 때 사용한다. ex) var str = 'abcde'; console.log(str[0]); --> a console.log(str[1]); --> b console.log(str[2]); --> c console.log(str[3]); --> d * read-only이기 때문에 값을 새로 할당하지 않는이상 변경 불가! .indexOf() 찾고자하는 문자열의 위치를 알고자 할 때 쓴다. ex) 'Sean Kim'.indexOf('Kim'); *찾고자 하는 문자열이 없으면 -1 반환 .lastInde.. 2021. 10. 6. JS 조건 비교 연산자 우선 일반적인 비교연산자의 종류와 의미를 알아보자. 사실 수학시간에 봤던 기호들이라 이해하기에 어렵지는 않다. 비교연산자 종류 의미 = 이하 === 같음 !== 다름 하지만 요놈들은 뭔가 특이한데... 과연 = / == / === 이 등호들에게는 어떤 차이가 있는 것일까? 우선 "="등호는 사실 비교를 위해 사용하는 기호가 아닌 변수에 값을 대입할 때 쓰는 기호임으로 비교연산자로 사용하지 않는다. "=="와 "==="의 비교는 약간 어려울 수 있는데, 간단하게 정리하자면 == 혹은 !=는 type까지 엄격하게 비교하지 않는다. 그렇다. ==보다 더 빡세게 비교를 하는 녀석이 ===이다. 예를 들어 설명하자면, 다음과 같다. 1 == 1 // true 1 == "1" // true 1 === .. 2021. 10. 6. JS 함수 함수란 무엇인가? 함수란 아래와 같이 다양한 해석이 가능하다. 코드의 묶음 기능의 단위 입력과 출력간의 매핑 여튼 간단하게 설명하자면, 커피콩을 넣으면 커피가 나오는 기구랄까..? *매핑이란 용어가 종종 나오곤 하는데, 개인적으로 매핑의 뜻은 옛날에 구몬 학습지를 통해 했던 올바른 뜻 잇기 문제와 같다고 생각한다. (지극히 개인적인 생각입니다....) 함수의 구성 함수는 아래와 같은 구성으로 이루어져 있다. keyword name parameter body 예를 들자면, 요롷다. function fName (a,b) { console.log(a+b) } 함수 사용법 앞에서 말했듯이 함수는 커피머신과 같다. 커피머신을 사용하기 위해서는 1. 커피머신과 2. 작동버튼이 필요하듯이 함수도 선언과 호출을 통해 .. 2021. 10. 6. JS 타입 변수에는 여러가지 타입이라는 것이 존재한다. 컴퓨터는 그렇게 똑똑하지 못하기 때문에 일일이 변수에 숫자가 들어가는지 문자가 들어가는지 등을 알려주는 것인데, 요게 처음에는 이해가 가진 않아도 프로그래밍을 계속하다 보면 점차 아하~ 하게 되는 듯 하다. 변수 타입의 종류 타입 예 참/거짓 (boolean) true, false 숫자 (number) 1, 53 문자 (string) "Hello World!" 함수 (function) let example = function () {} 객체 (object) example = { a : "ㄱ", b: "ㄴ" }; 위 4개의 경우 기본형 변수타입이라고 하며 아래 함수와 객체의 경우 여러개의 타입이 섞일 수 있다. *참고로 undefined도 타입이다! (변수에 값.. 2021. 10. 6. JS 변수 프로그래밍의 가장 기초 변수에 대해 알아보자. 우선 변수의 정의는 다음과 같다. 변수란 무엇인가 Variables are data values that can change when the user is asked a question 변수란 사용자가 요청 할 때 마다 그 데이터 값이 변하는 것이다. 따라서 a라는 변수에 "123456"이라는 값을 할당하면 나중에 언제든 다시 꺼내 쓸 수 있으며 혹은 변경도 가능하다. 변수의 경우 프로그래밍에 있어서 아주 기초중의 기초이지만, 마치 무술처럼 초식인 변수를 어떻게 사용하느냐에 따라 프로그래머의 실력차가 나타난다고 한다. 이전 회사의 CTO의 경우 변수명에 정말 민감해서 한눈에 이해되지 않는 변수명을 썻을 때 즉시 수정을 요청했던 기억이 있다. 왜냐하면 변수명은.. 2021. 10. 6. 이전 1 ··· 3 4 5 6 다음