일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- Server Side Rendering
- c++
- React ssr
- 네이버 부스트캠프 멤버십
- beautifulsoup
- 네이버 부캠
- 자바 프로젝트
- Next/Image 캐싱
- 비디오 스트리밍
- Image 컴포넌트
- React.js
- Next.js
- 파이썬 코딩테스트
- 코딩테스트
- 브라우저 동작
- 자바스크립트 객체
- 부스트캠프
- 네이버 부스트캠프
- 멘션 추천 기능
- 씨쁠쁠
- 자바스크립트
- 프로그래머스
- 파이썬 웹크롤링
- 웹크롤링
- 자바스크립트 컴파일
- git checkout
- 스택
- react
- 파이썬
- PubSub 패턴
Archives
- Today
- Total
코린이의 개발 일지
[JS 문법] 자바스크립트 기초 문법 (표준 입출력, 함수, 자료구조, 조건문, 반복문) 본문
반응형
변수 네이밍 룰
- 변수, 함수: camelCase
- class : CamelCase
출력
console.log("hello"); // print()와 같다.
변수 선언
let va; // 변수 선언
va = 3; //초기값 넣기 가능
console.log(va);
상수 선언
const testvalue = 1;
console.log(testvalue);
데이터 타입
- Number : int/float 를 정의하는 타입
- String
- Boolean
- null
- 값이 없음. null이라는 이름의 값 하나만 가질 수 있음.
- undefined
- 변수를 선언했는데, 값이 할당되지 않은 경우
- object
- Symbol
- unique한 값을 만드는 데이터 타입
→ 타입 알아보는 문법
const testvalue = 1;
console.log(typeof testvalue);
타입 변환
let va; // 변수 선언
va = '3'; //초기값 넣기 가능
Number(va); // 이러면 String 에서 Number로 변환
실수에서 정수 추출
parseInt(1.2);
parseInt("1.2"); // 얘도 type Number로 변경된다.
parseFloat(1.2); //얘도 있다.
연산자
동등 연산자, 일치 연산자
동등 연산자: == → 값만 같은지 확인
일치 연산자: === → 값과 데이터 타입 둘다 같은지 확인.
자바스크립트는 주로 비교 할 때, 일치 연산자 === 를 사용하면 된다. (다른 언어에서 == 사용하는 상황에서)
다르다는 !== 이다.
++연산, --연산
파이썬과는 다르게, 그리고 c언어와는 같게
++연산자 있다.
문자열 연산
문자열 붙일 때, 플러스 사용 가능
let string1 = 'Hello';
console.log(string1 + 'world');
조건문
if (조건){
코드;
}
반복문
switch/case 구문 사용 가능
switch(변수){
case 1:
코드;
break;
default:
코드;
}
함수
function map(f, a) {
var result = []; // Create a new Array
var i; // Declare variable
for (i = 0; i != a.length; i++)
result[i] = f(a[i]);
return result;
}
var f = function(x) {
return x * x * x;
}
var numbers = [0, 1, 2, 5, 10];
var cube = map(f,numbers);
console.log(cube);
// arrow function
let func = (x) => { return x*x*x; } // 익명 함수.
console.log(func(3))
///////////////////
let func = function(x) {
return x*x*x;
} // 이렇게도 쓸 수 있음.
let func = x => x*x*x; // 이렇게도 쓸 수 있음.
내장 자료구조
1. 딕셔너리(객체)
객체 타입을 사용할 수 있다.
let obj = {
1: "banana",
2: "hong",
3: "monkey"
}
다른 언어와 마찬가지로 키 중복은 안된다.
let obj = {
1: "banana",
2: "hong",
3: "monkey",
3: "hello"
}
// 출력결과
// { '1': 'banana', '2': 'hong', '3': 'hello' }
객체에서 키값만 배열 형태로 가져오기
Object.keys(dictObject); // ["1", "2", "3"]
이렇게 가져온 keys배열은 원소가 모두 String 타입이기 때문에
필요시 Number 타입으로 변환해야한다.
객체 출력
자바스크립트는 객체 깊이가 깊어지면 다 출력이 안되는데 다음과 같은 방법을 사용하면 된다.
console.dir(object, {depth:null}) // object에 출력하고자 하는 객체 넣으면 된다.
2. 배열
- 요소 추가하는 방법.
arr.push(요소) - 배열 슬라이싱
arr.slice(시작점, 끝점) - 주어진 배열에서 최대값 찾기
var m = Math.max(...myArray); - 배열 길이
arr.length; - 배열 비우기
arr.length = 0; - 배열 정렬하기
arr.sort(); // 아스키값 기준으로 정렬- 숫자를 정렬 하려면?=> 콜백 함수로 정렬 기준을 지정해줄 수 있다. (파이썬에서 람다함수와 비슷하다고 보면 된다.)
아스키값 기준 정렬이라 숫자 정렬시 숫자 오름차순으로 정렬되지 않는다. (주의)
-
score.sort(function(a, b) { // 오름차순 return a - b; // 1, 2, 3, 4, 10, 11 });
3. 집합
집합 활용해서 중복 제거하기
set = new Set(arr);
uniqueArr = [...set];
표준 입력 받기
readline 내부모듈 활용 (비동기 방식)
import { createInterface } from "readline";
const rl = createInterface({
input: process.stdin,
output: process.stdout,
});
rl.setPrompt("> ");
rl.prompt();
rl.on("line", (input) => {
if (input === "exit") process.exit();
console.log(input);
rl.prompt();
})
readlineSync 외부모듈 사용 (동기 방식)
=> 이방식이 가장 다른 언어 입력 방식처럼 사용할 수 있다.
=> 설치가 따로 필요하다.
- 설치 방법
npm install readline-sync
import readlineSync from 'readline-sync'
cmd = readlineSync.question("Enter your command: ")
cmd = cmd.trim(); // 좌우 공백 제거
파일 분리
다른 파일에 있는 함수 불러오기
// 부르는 파일 위에 적는다.
import { 함수 이름들 } from "./lib.mjs"; // 불러올 대상 파일 디렉토리
// 부를 파일, 확장자는 .mjs
export { 함수 이름들 };
위 방식은 ES6 버전 방식으로 commonjs를 사용하려면 다른 방식으로 해야한다.
반응형
'자바스크립트' 카테고리의 다른 글
[JavaScript] 자바스크립트 컴파일과 인터프리팅 (0) | 2023.08.03 |
---|---|
[JavaScript] 가비지 컬렉션 (Garbage Collection) (0) | 2023.02.10 |
[JavaScript] 객체 복사 (2) | 2023.02.09 |
[자바스크립트] 실행 컨텍스트 살펴보기 (0) | 2023.02.01 |
[JavaScript] - Prototype(프로토타입) (0) | 2022.09.08 |
Comments