布尔值
布尔数据类型代表两种值之一:true 或 false。布尔值要么是 true 要么是 false。当你开始使用比较运算符时,这些数据类型的用法会变得更加清晰。任何比较操作都会返回一个布尔值,要么是 true,要么是 false。
let isLightOn = true
let isRaining = false
let isHungry = false
let isMarried = true
let truValue = 4 > 3 // true
let falseValue = 4 < 3 // false
真值(Truthy values)
- 除了零以外,所有数字(正数和负数)都是真值
- 除了空字符串(’’)外,所有字符串都是真值
- 布尔值 true
假值(Falsy values)
- 0
- 0n
- null
- undefined
- NaN
- 布尔值 false
- ‘’, “”, ``, 空字符串
Undefined(未定义)
如果我们声明一个变量但不赋值,它的值将是 undefined。此外,如果一个函数没有返回值,它的返回值也将是 undefined。
let firstName
console.log(firstName) //未定义,因为尚未赋值
Null(空值)
let empty = null
console.log(empty) // -> null,表示没有值
运算符
赋值运算符
在 JavaScript 中,等号是一个赋值运算符。它用于给变量赋值。
let firstName = 'Asabeneh'
let country = 'Finland'
算术运算符
算术运算符是数学运算符。
- 加法(+): a + b
- 减法(-): a - b
- 乘法(*): a * b
- 除法(/): a / b
- 模数(%): a % b
- 幂运算(**): a ** b
let numOne = 4
let numTwo = 3
let sum = numOne + numTwo
let diff = numOne - numTwo
let mult = numOne * numTwo
let div = numOne / numTwo
let remainder = numOne % numTwo
let powerOf = numOne ** numTwo
console.log(sum, diff, mult, div, remainder, powerOf) // 7,1,12,1.33,1, 64
const PI = 3.14
let radius = 100 // 单位:米
// 让我们计算圆的面积
const areaOfCircle = PI * radius * radius
console.log(areaOfCircle) // 314 m²
const gravity = 9.81 // 单位:米/秒²
let mass = 72 // 单位:千克
// 让我们计算物体的重量
const weight = mass * gravity
console.log(weight) // 706.32 N(牛顿)
const boilingPoint = 100 // 单位:摄氏度,水的沸点
const bodyTemp = 37 // 单位:摄氏度,人体温度
// 使用字符串插值连接字符串与数字
/*
水的沸点是100摄氏度。
人体温度是37摄氏度。
地球的重力是9.81米/秒²。
*/
console.log(
`水的沸点是${boilingPoint}摄氏度。\n人体温度是${bodyTemp}摄氏度。\n地球的重力是${gravity}米/秒²。`
)
比较运算符
在编程中,我们比较值,使用比较运算符来比较两个值。我们检查一个值是否大于、少于或等于另一个值。
console.log(3 > 2) // true,因为3大于2
console.log(3 >= 2) // true,因为3大于或等于2
console.log(3 < 2) // false,因为3大于2
console.log(2 < 3) // true,因为2小于3
console.log(2 <= 3) // true,因为2小于或等于3
console.log(3 == 2) // false,因为3不等于2
console.log(3 != 2) // true,因为3不等于2
console.log(3 == '3') // true,仅比较值
console.log(3 === '3') // false,比较值和数据类型
console.log(3 !== '3') // true,比较值和数据类型
console.log(3 != 3) // false,仅比较值
console.log(3 !== 3) // false,比较值和数据类型
console.log(0 == false) // true,等价
console.log(0 === false) // false,不完全相同
console.log(0 == '') // true,等价
console.log(0 == ' ') // true,等价
console.log(0 === '') // false,不完全相同
console.log(1 == true) // true,等价
console.log(1 === true) // false,不完全相同
console.log(undefined == null) // true
console.log(undefined === null) // false
console.log(NaN == NaN) // false,不相等
console.log(NaN === NaN) // false
console.log(typeof NaN) // number
console.log('mango'.length == 'avocado'.length) // false
console.log('mango'.length != 'avocado'.length) // true
console.log('mango'.length < 'avocado'.length) // true
console.log('milk'.length == 'meat'.length) // true
console.log('milk'.length != 'meat'.length) // false
console.log('tomato'.length == 'potato'.length) // true
console.log('python'.length > 'dragon'.length) // false
逻辑运算符
以下符号是常见的逻辑运算符:
&&(与运算符), ||(或运算符)和 !(非运算符)。
&& 运算符仅在两个操作数都为 true 时为 true。
|| 运算符在其中一个操作数为 true 时为 true。
! 运算符将 true 取反为 false,将 false 取反为 true。
// && 与运算符示例
const check = 4 > 3 && 10 > 5 // true && true -> true
const check = 4 > 3 && 10 < 5 // true && false -> false
const check = 4 < 3 && 10 < 5 // false && false -> false
// || 或运算符示例
const check = 4 > 3 || 10 > 5 // true || true -> true
const check = 4 > 3 || 10 < 5 // true || false -> true
const check = 4 < 3 || 10 < 5 // false || false -> false
//! 非运算符示例
let check = 4 > 3 // true
let check = !(4 > 3) // false
let isLightOn = true
let isLightOff = !isLightOn // false
let isMarried = !false // true
自增运算符
在 JavaScript 中,我们使用自增运算符来增加存储在变量中的值。自增运算可以是前置自增或后置自增。
前置自增
let count = 0
console.log(++count) // 1
console.log(count) // 1
后置自增
let count = 0
console.log(count++) // 0
console.log(count) // 1
我们大多数时间使用后置自增。
自减运算符
在 JavaScript 中,我们使用自减运算符来减少存储在变量中的值。自减运算可以是前置自减或后置自减。
前置自减
let count = 0
console.log(--count) // -1
console.log(count) // -1
后置自减
let count = 0
console.log(count--) // 0
console.log(count) // -1
日期对象
在 JavaScript 中,日期对象是用于处理日期和时间的内置对象。为了得到当前时间和日期,我们使用 Date 类。使用 Date 对象,我们可以得到年、月、日期、小时、分钟、秒、毫秒以及星期几。
日期对象中的时间方法
// 2020年11月4日星期三,下午13:16
const now = new Date()
console.log(now) // 当前时间
const year = now.getFullYear() // 返回年份
const month = now.getMonth() // 返回月份(0-11)
const date = now.getDate() // 返回日期(1-31)
const hours = now.getHours() // 返回小时数(0-23)
const minutes = now.getMinutes() // 返回分钟数(0-59)
console.log(date, month, year, hours, minutes)
日期对象方法
-
getFullYear():获取年份
-
getMonth():获取月份
-
getDate():获取日期
-
getDay():获取星期几,0代表星期日
-
getHours():获取小时
-
getMinutes():获取分钟
-
getSeconds():获取秒
-
getMilliseconds():获取毫秒
-
getTime():获取自1970年1月1日00:00:00至今的毫秒数
-
now():获取当前时间戳
const now = new Date()
console.log(now.getFullYear()) // 年份
console.log(now.getMonth()) // 月份
console.log(now.getDate()) // 日期
console.log(now.getDay()) // 星期几
console.log(now.getHours()) // 小时
console.log(now.getMinutes()) // 分钟
console.log(now.getSeconds()) // 秒
console.log(now.getTime()) // 自1970年1月1日以来的毫秒数
console.log(Date.now()) // 当前时间戳
格式化日期
const now = new Date()
const year = now.getFullYear() // 返回年份
const month = now.getMonth() + 1 // 返回月份
const date = now.getDate() // 返回日期
const hours = now.getHours() // 返回小时数
const minutes = now.getMinutes() // 返回分钟数
console.log(`${date}/${month}/${year} ${hours}:${minutes}`)