기초 및 함수

ASOpaper·2022년 10월 25일
0

Javascript

목록 보기
3/11

기초

자바스크립트 문법

리터럴(literal)
직접 표현되는 값 그 자체

식별자(identifier)
변수나 함수의 이름을 작성할 때 사용하는 이름

변수의 선언
var, const, let

var // 문제점이 let과 const로 보완되었기 때문에 잘 사용되지 않음
let // 변수 재선언은 불가하나 재할당은 가능함
const // constant 재할당이 불가능함
var javascript = 10;
var JavaScript = 20; // 이 두 변수는 각각 다른 변수로 인식된다.
var firstVar = 10; // Camel Case 방식
var my_first_func // Underscore Case 방식

var의 문제점과 개선사항
var는 함수를 재선언해도 아무런 에러 없이 각기 다른 값이 출력 됨. 간단한 테스트에는 편리할 수 있으나 이 후 코드량이 많아질 경우 에러를 발생시킬 수 있어 재선언 할 수 없는 letconst를 사용하게 됨

함수의 선언
매개변수(parameter), 전달인자(argument)

function exam(parameter){}
exam(argument)

매개변수와 전달인자는 어느 하나가 더 많아도 무시된다.

함수 이름짓기

show     // 보여줌
get      // 값을 얻고 그 값을 반환함
calc     // 계산하고 그 결과를 반환함
create   // 생성하고 만들어진 것을 반환함
check    // 확인하고 true나 false를 반환함

= 할당연산자
=== 같다

키워드(keyword) 또는 예약어(reserved word)
특별한 단어로 사용하기 위해 지정된 단어
var, let, const, return, function

타입 변환(type conversion)

자바스크립트는 타입 검사가 매우 유연한 언어이다.

타입의 종류
string
number
boolean

console.log(1 === '1') // false
console.log(0 === false) // true -> 형변환 0,'' > falsy
console.log(!true) // false
console.log(!!true) // true
console.log(!!!true) // false
console.log(!0) // true

undefined
아무것도 할당하지 않은 변수는 undefined가 할당된다.

null
이전에 할당된 값을 더이상 사용하지 않고 비어있는 상태로 둘 때 null을 사용한다.
symbol

함수

함수란

함수(function)
논리적인 일련의 작업을 하는 하나의 단위, 작은 기능의 단위

구조

keywordnameparameterbody
functionExample( ){ }

호출

nameparameter
Example(argument)

※ 주의 함수를 호출할 때 ()를 붙이지 않으면 함수를 호출하는게 아니라 그 함수가 정의된 객체를 참조하는 게 된다.

함수 선언식

function getExample(one, two){} // 어디서든 호출이 가능하다.

함수 표현식

const getExample = function(one,two){} // 함수를 생성(초기화)한 코드 아래에서만 호출이 가능하다.

화살표 함수

const getExample = (one, two) => {one / 2} // 함수를 생성(초기화)한 코드 아래에서만 호출이 가능하다.
const getExampl2 = one => one / 2 //매개변수가 하나, 함수 내부가 하나의 문으로 구성될 경우 괄호, 중괄호 생략이 가능하다.
let, const // 변수 선언
function // 함수 선언

let function, const function // 함수 표현식
=> // 화살표 함수

함수의 리턴

function getExample(one, two){
  three = one + two
  return three
} // 함수를 호출했을 때 출력할 값을 리턴해준다

참고자료

코드스테이츠, TCPschool, https://ko.javascript.info/function-basics

profile
개인 공부 일지

0개의 댓글