FRONT/JAVASCRIPT 78

[javascript] 함수 (함수 호이스팅, 매개변수, 반환문)

함수란? 일련의 과정을 문으로 구현하고 코드 블록으로 감싼 하나의 실행 단위 매개변수 : 함수 내부로 입력을 전달받는 변수 인수 : 입력 반환값: 출력 함수 호출: 인수를 매개변수를 통해 함수에 전달하면서 함수의 실행을 지시하는 것 -> 반환값 반환 함수를 사용하는 이유 코드의 재사용 유지보수의 편의성 코드의 신뢰성 높임 코드의 가독성 향상 함수는 함수 리터럴로 생성할 수 있다. 함수 리터럴은 평가되어 값을 생성하며, 이 값은 객체다. 즉, 함수는 객체다. (함수가 객체라는 사실은 다른 프로그래밍 언어와 구별되는 JS의 특징이다.) 일반 객체와 다른 점은 일반 객체는 호출할 수 없지만 함수는 호출할 수 있다. 함수 정의 함수 선언문 함수 선언문은 표현식이 아닌 문이다. 피연산자로 사용할 수 없다. 함수 ..

FRONT/JAVASCRIPT 2021.06.17

[javascript] 원시 값과 객체의 비교

데이터 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있다. 원시 타입과 객체 타입은 세가지 측면에서 다르다. 1. 원시 값은 변경 불가능한 값인 반면, 객체는 변경 가능한 값이다. 2. 원시 값을 변수에 할당하면 변수에는 실제 값이 저장되는 반면, 객체를 변수에 할당하면 변수에는 참조 값이 저장된다. 3. 값에 의한 전달- 원시 값이 복사되어 전달 참조에 의한 전달- 참조 값이 복사되어 전달 원시 값 원시 값은 변경 불가능한 값이다. 그렇기 때문에 변수 값을 변경하기 위해 원시 값을 재할당 하면 새로운 메모리 공간을 확보하고 재할당한 값을 저장한 후, 변수가 참조하던 메모리 공간의 주소를 변경한다. 값의 이러한 특성을 불변성이라 한다. 문자열 자바스크립트는 개발자의 편의를 위해 원시 타입인 문자열 ..

FRONT/JAVASCRIPT 2021.06.17

[javascript] 객체 생성과 프로퍼티, 메소드

객체란? 원시 타입의 값은 변경 불가능한 값이지만 객체는 변경 가능한 값으로, 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 프로퍼티: 객체의 상태를 나타내는 값. 키와 값으로 구성 메서드: 프로퍼티를 참조하고 조작할 수 있는 동작 var counter = { num: 0, // 프로퍼티 //num : 프로퍼티 키, 0 : 프로퍼티 값 increase: function() { // 메서드 this.num++; } }; 객체 리터럴에 의한 객체 생성 리터럴은 사람이 이해할 수 있는 문자, 약속된 기호를 사용해 값을 생성하는 표기법이다. 객체 리터럴은 객체를 생성하기 위한 표기법이다. 객체 리터럴은 값으로 평가되는 표현식이다. 이 때 쓰이는 중괄호는 코드 블록을 의미하지 않기 때문에 중괄호 ..

FRONT/JAVASCRIPT 2021.06.17

[javascript] 타입 변환과 단축 평가

타입 변환이란? 타입변환이란 기존 원시 값을 사용해 다른 타입의 새로운 원시 값을 생성하는 것이다. 명시적 타입 변환(타입 캐스팅) : 개발자가 의도적으로 값의 타입을 변환하는것 암묵적 타입 변환(타입 강제 변환) : 표현식을 평가하는 도중에 자바스크립트 엔진에 의해 암묵적으로 타입이 자동변환 되는 것 암묵적 타입 변환 자바스크립트 엔진은 표현식을 평가할 때 문맥(Context)에 고려하여 암묵적 타입 변환을 실행한다. 문자열 타입으로 변환 : 숫자, 불리언, null, undefined, 심벌, 객체 타입 뒤에 +' ' 을 붙인다. 숫자 타입으로 변환 : 산술 연산자, 비교 연산자의 숫자 타입이 아닌 피연산자를 숫자 타입으로 바꾼다. ' ', [ ], null, false -> 0 true -> 1 u..

FRONT/JAVASCRIPT 2021.06.17

[javascript] 데이터 타입

데이터 타입은 값의 종류를 말한다. 숫자 타입 정수와 실수를 구분하는 c나 자바와 달리, 자바스크립트는 하나의 숫자 타입만 존재한다. 모든 수를 실수로 처리하며 정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않는다. 자바스크립트는 2, 8, 16진수를 표현하기 위한 데이터 타입을 제공하지 않기 때문에 이들 값을 참조하면 모두 10진수로 해석된다. 문자열 타입 자바스크립트에서 가장 일반적인 문자열 표기법은 작은 따옴표를 사용하는 것이다. 자바스크립트의 문자열은 원시 타입이며, 변경 불가능한 값이다. 문자열이 생성되면 변경할 수 없다. 템플릿 리터럴 백틱(` `)을 사용해 표현한다. 멀티라인 문자열 - 줄바꿈(개행)이 이스케이프 시퀀스를 사용하지 않고도 허용되고, 공백도 있는 그대로 적용된다. 표현식 ..

FRONT/JAVASCRIPT 2021.06.16

[javascript] 표현식과 문

값 값은 식(표현식)이 평가되어 생성된 결과를 말한다. var sum = 10 + 20; // 변수에는 10 + 20이 평가되어 생성된 숫자 값 30이 할당된다. 값을 생성하는 가장 기본적인 방법은 리터럴을 사용하는 것이다. 리터럴 리터럴은 사람이 이해할 수 있는 문자(아라비아 숫자, 알파벳, 한글등) 또는 약속된 기호('', "", ., [], {}, // 등)를 사용해 값을 생성하는 표기법이다. 자바스크립트 엔진은 코드가 실행되는 시점인 런타임에 리터럴을 평가에 값을 생성한다. 표현식 표현식은 값으로 평가될 수 있는 문이다. var score = 100; // 100은 리터럴이다. var score = 50+50; // 50+50이 평가되어 숫자 값 100생성 score; // ->100 변수 식별자..

FRONT/JAVASCRIPT 2021.06.16

[javascript] 변수

변수란 무엇인가? 왜 필요한가? 컴퓨터는 CPU를 사용해 연산하고, 메모리를 사용해 데이터를 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체다. 10+20 이와같은 코드를 실행 하면 숫자 값 10과 20, 결과 값인 30은 메모리상의 임의의 위치(메모리 주소)에 2진수로 기억(저장)되고 CPU는 이 값을 읽어들여 연산을 수행한다. 이때 연산 결과를 재사용 하기 위해 메모리 주소를 통해 값에 직접 접근하는 시도는 올바른 방법이 아니다. 코드가 실행될 때마다 값이 저장될 메모리 주소가 변경되기 때문이다. 이 때문에 프로그래밍 언어는 변수라는 매커니즘을 제공한다. 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이다. 값을 저장하고 참조..

FRONT/JAVASCRIPT 2021.06.16

[javascript] 자바스크립트란?

더보기 참고 자바스크립트의 탄생 1955년, 넷스케이프 커뮤니케이션즈는 웹페이지의 보조적인 기능을 수행하기 위해 브라우저에서 동작하는 경량 프로그래밍 언어를 도입하기로 결정하고 그래서 탄생한것이 브렌던 아이크(Brendan Eich)가 개발한 자바스크립트다. 자바스크립트의 표준화 1966년 마이크로소프트에서 출시한 자바스크립트의 파생버전인 "JScript"와 자바스크립트는 표준화되지 못하고 적당히 호환되었고, 두 경쟁사가 자사의 시장 점유율을 높이기 위해 브라우저에서만 동작하는 기능을 추가하기 시작했다. ->이로 인해 브라우저에 따라 웹페이지가 정상적으로 동작하지 않는 크로스 브라우징 이슈가 발생 이에 ECMA 인터내셔널에 자바스크립트 표준화를 요청하며 자바스크립트는 ECMAScript 로 명명 된다. ..

FRONT/JAVASCRIPT 2021.06.14

01.프로그래밍이란?

더보기 참고 프로그래밍이란? 프로그래밍이란 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션이다. 정확하고 상세하게 요구사항을 기계에게 설명하는 작업이며, 그 결과물이 코드이다. 이 때 문제 해결 능력이 요구되고 이를 위해 필요한 것이 Computational thinking(컴퓨팅 사고)이다. 컴퓨터와 사람은 사고, 인지 방식이 다르기 때문에 컴퓨터의 관점에서 문제를 사고 해야한다. -> 논리적, 수학적 사고 필요 프로그래밍 언어 사람이 약속된 구문으로 구성된 프로그래밍 언어를 사용해 프로그램을 작성한 후, 그것을 컴퓨터가 이해할 수 있는 기계어로 변환하는 번역기(컴파일러 or 인터프리터)를 이용한다. 프로그래밍언어 기계어 사람 ㅡㅡㅡㅡ> 컴파일러 ㅡㅡㅡㅡ> 컴퓨터 프로그래밍 언어란 컴퓨터의 대화(명령)에..

FRONT/JAVASCRIPT 2021.06.14

[노마드코더] 바닐라 JS로 크롬앱 만들기 마지막(quotes, weather)

quotes.js const quotes = [ { quote: "quote1", author : "author1", }, { quote:"quote2", author : "author2", }, { quote:"quote3", author : "author3", } ]; const quote = document.querySelector("#quote span:first-child"); const author = document.querySelector("#quote span:last-child"); const todaysQuote = quotes[Math.floor(Math.random()*quotes.length)]; quote.innerText = todaysQuote.quote; author.in..

FRONT/JAVASCRIPT 2021.06.10
반응형