본문 바로가기

전체 글

(135)
연산자 연산자란 연산자는 하나 이상의 표션식을 대상으로 산술,할당,비교,논리,타입,지수연산등을 하나의 값으로 만드는작업을 수행한다. 연산자는 피연산자를 연산하여 새로운 값을 만드는데 피연산자는 값으로 평가될 수 있는 표현식이여야한다. 연산자의 부수효과 대부분의 연산자는 다른 코드에 영향을 주지않으나 일부 연산자는 다른 코드에 영향을 주는 부수효과를 가지고 있다. 대표적으로 부수효과가 있는 연산자는 할당 연산자(=), 증감연산자(++/--),delete연산자가있다. 연산자 예시 = 변수 값이 변하는 부수효과가있으며, 변수를 사용하는 다른 코드에 영향을 준다. ++/-- 피연산자의 값을 재할당하여 변수를 사용하는 다른코드에 영향을 준다. delete 객체의 프로퍼티를 삭제하는 부수효과가있다.객체를 사용하는 다른코드..
Data Type 데이터타입은 값의 종류를 말하며, 자바스크립트의 모든 값은 데이터타입을 갖는다. 자바스크립트는 ES6에서 7개의 데이터 타입을 제시하며, 원시타입과 객체타입으로 분류할 수 있다. JavaScript의 데이터타입의 종류 Data(자료)란 프로그램이 처리할수 있는 모든것으로 자효형태에 따라 나눠놓은것을 자료형(DataType)이라 한다. 자바스크립트의 데이터 타입은 원시타입과 객체타입으로 나뉜다. 원시타입(Primitive dataType): 객체가 아닌 기본자료형이라고 하며, 변경불가능한 값으로 값에 의해 전달(pass-by-value)된다. 객체(참조)타입(Object type, Reference type):객체를 기반으로 하는 자료형으로, 참조에의한 전달(pass-by-reference)방식으로 전달된..
Nodejs 분명 nodejs는 크롬의 v8엔진을 사용한 런타임이라고 배웠다.근데 면접스터디에서 팀원이 "nodejs가 뭐에요?"라는 질문을했고, 나는 "자바스크립트를 기반의 크롬의 v8엔진을 탑재한 내pc에서 동작하는 서버입니다"라고 대답했다.그리고 팀원의 "엄밀히 말하면 틀렸습니다. 서버가 아닙니다" 라는 대답.다시공부하자..0. 등장 배경1. nodeJs란?nodejs를 한문장으로 말하자면크롬 브라우저의 V8 javascript 엔진을 탑재한 server side 오픈소스 javascript runtime이다.서버를 만드는 런타임 환경이지 nodejs가 서버는 아니다.JavaScript브라우저(크롬,사파리.웨일)에서 HTML의 생성부터 페이지의 기능을 동적으로 처리되도록 만들어주는 브라우저에서 실행되는 프로그..
SSH 오늘은 인턴 첫날~ 떨리는 마음으로 회사에갔다 오후 두시반에 미팅을 잡았기에 첫날이라 많이 배우지 못 할 줄 알았는데, 초기세팅부터 많은것을 알려주셨다. (git-Fork, Sem Ver, ssh를 이용한 git 레포지토리 접근, git subModule, bitBucket, SSH 등..) 그중 오늘의 목표는 SSH와 bitBucket, NVM으로 노드 버전 낮추고 ProseMirror과제파일 실행하기였다. 오늘한것 중 한번도 해보지않았던것은 SSH라서 오늘의 배운것으로 골랐다. 1.SSH Secure Shell(암호화된 셀)의 약자로, 네트워크를 통해 안전하게 원격으로 다른 컴퓨터에 접속하고 명령을 실행하는 프로토콜 및 프로그램이다. 즉, 암호화를통해 데이터를 보호하고 무단접근을 방지하여, 원격으로 ..
표현식과 문 변수는 하나의 값을 저장하기위해 확보한 메모리공간자체 또는 그 메모리 공간을 식별하기위해 붙인 이름으로 변수에 할당되는 것이 값이다. 1. 값(value) 과 리터럴(literal) 1. 값 값은 표현식(statement)을 평가(evaluate),참조하여 생성된 결과를 말한다. 모든 값은 데이터타입을 가지며 메모리에 2진수(bit)로 저장된다. 2. 리터럴 리터럴은 사람이 이해할 수 있는 문자 또는 약속된 기호("", ., [], {})를 사용하여 값을 생성하는 표기법이다. js에서 3은 단순한 숫자가 아니라 숫자 리터럴이다. 사람이 이해하는 숫자 3을 사용해 숫자 리터럴 3을 코드에 기술하면 자바스크립트 엔진이 이를 평가하여 숫자 값 3을 생성한다. 리터럴의종류 종류 예시 종류 예시 정수 1 객체 {..
Hoisting(호이스팅) 1. 호이스팅이란? 호이스팅이란 인터프리터가 모든(함수,변수)선언문의 메모리공간을 선언전에 미리 할당하여 상단으로 올려서 선언문을 유효범위의 최상단으로 옮겨진것처럼 작동하는 자바스크립트의 독특한 특징을 말한다. ✅ 유효범위? 변수에 접근할 수 있는 범위 ✅ block-level-scope? {}로 쌓여진 범위, let,const로 변수생성시 유효한 범위. ✅ function-level-scope? function(){}의 {}내의 범위, var로 변수생성이 유효한 범위. ✅ 유효범위의 최상단? 변수가 함수안에 정의: 선언문이 함수의 최상단으로 호이스팅 된다. 변수가 함수밖에 정의: 선언문이 전역의 최상단으로 호이스팅 된다. 아래의 코드를 보면는 인터프리터에의해 위에서부터 한줄씩 실행되기때문에 refere..
variable(변수) 애플리케이션은 데이터를 다루는데 변수는 이 데이터를 관리하기위해 사용하는 중요한 용어이다. 1. 변수에 대해서 변수는 하나의 값을 저장한 메모리공간으로 그 메모리공간을 식별하기 위해 붙인 이름이다. 메모리에 저장된 값을 식별할 수 있는 고유명을 변수명이라하고, 변수에 저장된 값을 변수 값이라 한다. 변수에 값을 저장하는것을 할당(assignment), 값을 읽어오는 것을 참조(reference)라 한다. 변수명을 사람이 이해하기 쉽게 지음으로써 가독성을 높일수있다. 2. 변수 선언과 호이스팅 쓰다보니 길어져서 따로 작성하였다. 변수를 사용하려면 반드시 변수를 선언해야한다. 변수를 선언하면 값을 저장할 메모리 공간을 확보(allocate)하고 변수명과 확보한 메모리 공간의 주소를 연결하여 값을 저장할 수 ..
텍스트 문자열 연결하기 1. 텍스트 문자열의 연결 alert함수에 텍스트를 입력하면 같은 텍스트가 항상 출력된다. 그렇다고 항상 텍스트를 교체하기는 귀찮은데 이럴때는 변수를 사용하면 변수값에따라 내용을 바꿀 수 있다. let name = "김"; console.log("안녕하세요" + name + "씨"); // "안녕하세요 김 씨" 2. 텍스트 + 텍스트 String 과 String를 합치면 String이다. 만약 띄어쓰기를 넣고싶다면 " "를 사용하면 띄어쓰기를 포함한 문자열이 출력된다. console.log("안녕" + "하세요"); console.log("안녕" + "하" + "세요"); console.log("안녕" + "하세" + "" + "요"); //위의 3가지 다 '안녕하세요' console.lo..
Math Expression 1. 수학 표현식 JavaScript는 코드에 숫자 데이터타입과 사칙연산같은 수학 표현식을 사용하여 숫자를 계산할 수 있다. 2. 생소한 수학 표현식 1. ++ / - - ++는 변수의 값에 1을 간단하게 더할 수 있게 해준다. 반대로 -- 는 변수에서 1을 빼준다. 참고로 const를 사용하면 값을 재할당을 할수 없어 에러가 뜬다. 증감연산자를 사용하는경우 ++/--의 위치에따라 다르게 사용하기때문에 주의해야한다. ++를 하면 1이 붙어서 나올것같지만 실제로는 다른값이 나올수 있다. 1) number++ 아래의 코드는 어떤 값이 나올까? let a = 1; let aPlus = a++; 나는 1과 2가 나올줄 알았는데, 답은 2와 1이였다. 이렇게 나온 이유는 대개 코드는 위에서부터 스캔하기도하지만 동..
Return 1. 함수의 return(반환) 위에 사용한 return은 함수의 값을 반환한것인데, 처음 공부했을때 이 return이라는게 이해가 안갔었다. 아래의 인용글은 처음 공부했을때 레플릿의 설명이 이해가안됬던 부분이 이다. 모든함수가 return을 포함해야하는건 아닙니다. 함수내부에 return 키워드를 생략할 수 도 있습니다. 하지만 이경우에도 함수는 무언가를 반환하고 있습니다. 함수가 반환을 생략하면 undefined라는 값을 반환합니다. return를 생략해도된다고해서 처음 공부했을때 모든함수에 변수선언만하고 return을 안써서 왜안뜨냐며 헤맸었다. 함수는 값을 불러오려고 쓰는것인데 함수내부에 점수는 이거다라고 변수선언을 해놓고 그 값을 반환하지 않으면 함수는 내 놓을 값이 없어서 undefined를 ..
Function 1. 함수란? 함수는 하나의 특정한 작업을 수행하도록 설계된 독립적인 블록이다. 블록이란 코드에서 {}로 쌓인 부분을 말한다. 블록내에서 정의된 변수를 외부에서 호출할 경우 접근할 수 없다. (반면 전역함수의 경우 모든 전역변수와 함수에 접근이 가능하다.) 이 블록에서 작동하는 범위를 함수의 유효범위라하며, 자바스크립트는 함수를 블록대신 사용할 수 있다. 1-1. 함수의 형태 함수의 형태는 function이란 키워드로 시작하여 함수의 이름을 선언하고 ()를 붙인뒤 {를 붙여 함수의 시작을 알린다. 함수에서 실행할 내용은 {}안에 작성하며 함수의 body라고 한다. body의 내용은 들여쓰기를 하는데 함수내부의 코드임을 알기 쉽게하기위하여 들여쓰는것이다. 함수의 값으로 반환할 것이 있다면 return문을 ..
JavaScript의 데이터타입 JavaScript의 데이터타입의 종류 Data(자료)란 프로그램이 처리할수 있는 모든것으로 자효형태에 따라 나눠놓은것을 자료형(DataType)이라 한다. 자바스크립트의 데이터 타입은 원시타입과 객체타입으로 나뉜다. 원시타입(Primitive dataType): 객체가 아닌 기본자료형이라고 하며, 변경불가능한 값으로 값에 의해 전달(pass-by-value)된다. 객체(참조)타입(Object type, Reference type):객체를 기반으로 하는 자료형으로, 참조에의한 전달(pass-by-reference)방식으로 전달된다. 자바스크립트는 객체기반의 스크립트 언어로 원시타입을 제외한 모든것이 객체로 이루어져있다. 원시타입 객체타입 Number Object String Boolean Null Und..