JavaScript中的變數、資料型別以及運算子
變數的宣告
JavaScript 是弱型別語言,所以可以放任意型別的值
在ES6以前,一直使用 var 宣告變數,ES6 新增 let、const
let a; //變數宣告
let n = 5; //變數初始化 || 宣告變數並賦值
var的特徵
- 支援重複的宣告
- 禁止遺漏宣告 必須先宣告後使用
let的特徵
- let 不允許在同一作用域中重複宣告 (XXX has already been declared 變數重複命名)
- 修改變數中的值,由於 js 是弱型別語言,所以可以放任意型別的值
const的特徵
- 宣告常量,常量也屬於變數,只是我們不希望它的值被更改
- ES6 以前使用全大寫表示常量
- 不允許修改值
- 宣告的變數必須初始化
資料型別
JS 中每一個值都必須屬於某一種資料型別
- 簡單資料型別(原始資料型別 || 簡單值)
- 複雜資料型別(合成資料型別 || 複雜值)
簡單資料型別
ES6 以前: undefined 、 number、 string、boolean、null
undefined
未定義,宣告的變數未賦值、函式沒有返回值,都是undefined 有容器,沒內容
undefined 中的bug:
- let a; log a; undefined
- 變數未宣告: log a; 報錯 XXX 未定義
- typeof XXX :undefined
會返回 undefined 的情況:
- 變數宣告未賦值
- 函式沒有返回值
- 給變數賦值為 undefined
- 訪問物件不存在的屬性值
- return 無明確值
null
ECMA 認為 undefined 是從 null 衍生而來的。不進行精確比較,則相等 啥都沒有
console.log(undefined == null) ; //true
js 關於 null 的 bug :typeof null //object
boolean
boolean(要檢測的值) || !!要檢測的值 會返回true或者false
哪些情況下會返回 false
- “ ” 空字串 “ ” 字串模板 “ ”
- 0
- false
- undefined
- null
- NaN(not a number 非數)
NaN
- NaN 不與任何值相等,包括它自己
- NaN 的型別,是 number
- NaN 涉及任何計算,值都是NaN
isNaN() 檢測一個值是否是非數
- 傳入數字,返回 false
- 傳入非數,返回 true
string
單引號、雙引號、字串模板都可以表示字串,但不能相互巢狀
let name = "XXX", age = "18歲";
console.log("我叫" + name + "我今年" + age);
console.log('我叫${name}我今年${age}');
ES6 新增: symbol
複雜資料型別
object
運算子
-
賦值運算子
=、+=、-=、*=、/=
a += b; // a = a+b -
一元運算子(自增自減運算子)
++ –
n = n + 1 n++
n = n - 1 n–let i = 0 ; let j = i++ ; console.log(j,i); //0 1 let i = 0; let j = ++i; console.log(j,i); //1 1 let i = 5; console.log(i++ + 10); //15 console.log(i); //6
-
邏輯運算子
與&& 或|| 非!
-
算數運算子
‘+’ - * / % 取模
-
關係運算子
“> 、 < 、 == 、 ===、 <=、 >=”
=== 全等 值相等,資料型別相等 -
三目運算子
5 > 3?alert('5大'):alert('3大'); //舉個例子
表示式1?表示式2:表示式3;
表示式1為 true,執行表示式2,表示式1為 false,執行表示式3;
- typeof
檢視變數的資料型別
相關文章
- python教程1.2:變數+資料型別+運算子Python變數資料型別
- Java基礎知識(變數、資料型別、運算子)Java變數資料型別
- Java中的資料型別和運算子Java資料型別
- 資料型別和運算子資料型別
- 分析 JavaScript 的資料型別與變數JavaScript資料型別變數
- JavaScript變數與資料型別詳解JavaScript變數資料型別
- 說說 Python 的變數以及簡單資料型別Python變數資料型別
- Python 筆記 - 課時4 - 變數型別和運算子Python筆記變數型別
- JAVA基礎--資料型別和運算子Java資料型別
- 資料型別和運算子測試題資料型別
- javascript中如何判斷變數的型別?JavaScript變數型別
- 變數以及八大資料型別介紹變數大資料資料型別
- javascript中&&運算子和||運算子的使用JavaScript
- javascript中的資料型別JavaScript資料型別
- Python3學習 (變數+值型別+引用型別+列表的可變+元組的不可變+運算子號)Python變數型別
- day02 go的資料型別和運算子Go資料型別
- JavaScript五:全域性變數&區域性變數;運算子JavaScript變數
- 資料型別,變數資料型別變數
- 《JavaScript 闖關記》之變數和資料型別JavaScript變數資料型別
- Python3基礎——運算子、資料型別Python資料型別
- [打牢基礎系列]JavaScript的變數和資料型別JavaScript變數資料型別
- JavaScript - 變數、值、型別JavaScript變數型別
- javascript中對變數型別的判斷方法JavaScript變數型別
- # JavaScript中的 || 與 && 運算子JavaScript
- php型別運算子的使用PHP型別
- java基礎語法--註釋、識別符號、關鍵字、資料型別、型別轉換、變數、常量、作用域、運算子Java符號資料型別變數
- SSIS 資料型別 第二篇:變數的資料型別資料型別變數
- PostgreSQL:數字——型別、運算子和函式SQL型別函式
- php運算子運用之型別運算子該如何使用PHP型別
- 型別轉換運算子型別
- JavaScript中的資料型別-儲存差別JavaScript資料型別
- 二、變數與資料型別變數資料型別
- python—資料型別和變數Python資料型別變數
- 強型別語言變數和資料型別的理解變數資料型別
- javaScript的資料型別JavaScript資料型別
- 變數,運算子,if判斷變數
- c++中的變數型別_C ++中的變數C++變數型別
- Hive中的資料型別以及案例實操Hive資料型別